安卓生产日志最佳实践

53

在生产模式下,针对Android应用程序记录日志的最佳实践是什么?请记住以下要求:

  1. 可以上传日志以进行调试

  2. 可以清理日志或设置回滚

谢谢


18
看吧,这篇帖子已经有近4,000人查看了,其中18个人(包括我自己)认为这是一个有用的问题,9个人将其标记为收藏,然而显然它被关闭了,理由是“不具建设性”...唉! - Alan
5
@Alan,这里有规则,并且有很多执法人员在执行它们。;) - OneWorld
3个回答

7
我们的首选是仅自动上传异常。对于客户端日志记录,我们更喜欢有选择地设置标志或提供一个特殊的调试版本给遇到问题的客户端。
可以使用Thread.setDefaultUncaughtExceptionHandler()来捕获异常。但是需要注意一些细节(主要是在异常处理完成后需要退出应用程序)。参见:http://groups.google.com/group/android-developers/browse_thread/thread/c32e8c6120bed5c5/54c28b745c0fca80 对于日志收集,请参见android-log-collector。不需要使用整个包,请查看源代码并复制粘贴。

4
如果您想获取崩溃报告,ACRA可能是一个不错的解决方案。ACRA是一个库,可以使安卓应用程序自动将其崩溃报告发布到GoogleDoc表格上。请点击ACRA了解更多信息。

2
使用ACRA的GoogleDocs现在已经不推荐了。他们已经开发了其他解决方案。 - OneWorld

2
为了使文章更完整,谷歌在新版Android中嵌入了崩溃报告服务。对于旧版本,还没有支持该服务的几个可用服务。在已经提到的服务中,我推荐这两个:
  • ACRA崩溃报告 - 开发者或/和用户选择的多种报告选项)
  • HockeyApp测试/崩溃报告网络平台,配有支持库。如果你是认真的开发者,试用版但付费版值得。也支持iOS)
然而,大多数这些库会使你的应用程序变得有点“沉重”,但更重要的是使用它们需要互联网权限。如果您的应用程序没有其他原因需要互联网,那么如果没有任何功能需要它,您需要互联网可能会引起用户怀疑。
最后一句话:尽可能多地使用谷歌已经为Android提供的服务,而不是第三方库。
干杯;)

1
请注意:2012年5月14日,在API级别为10的Android应用程序中实现了ACRA 4.2.3 - 运行良好。 - qxotk
很好,很高兴你觉得它有用... 干杯 :) - Ewoks

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接