【问题标题】:How to programmatically get android logs from a release build如何以编程方式从发布版本中获取 android 日志
【发布时间】:2017-04-07 15:43:52
【问题描述】:

我已经看到很多使用 logcat 等在 Android 中获取系统日志的方法,但关于应用日志的方法却不多(通常的 USB + adb 解决方案除外)。

我的 B2B Android 应用会生成有用的日志记录,这些日志记录由 Log.i 调用创建。虽然在 Studio 中这些对于调试非常有用,但当出现问题时,从客户的安装中获取这些也很有用,即从野外构建的版本中获取。客户通常不是技术人员,因此通过adb 获取日志并不是一个真正的选择。

应用代码本身是否有办法获取所有日志内容?

也许 SDK 提供了一种方法来做到这一点?

然后我可以将它发送到我的服务器或通过电子邮件发送。我认为我的客户只需点击一个按钮就可以立即获得应用程序中发生的情况的快照。

提前致谢

更新

除了写入文件并发送该文件之外,似乎没有办法做到这一点。我想这是一个很好的解决方案。

另外两个有趣的是:

【问题讨论】:

  • 没有记录和支持的方法可以做到这一点。您会发现在设备上运行 logcat 命令的未记录和不受支持的解决方案。将此信息记录到您控制的某个文件中可能会更好。
  • 我不确定,但您尝试过 crashlytics 吗?还是火力基地?
  • @MohammedAtif crashlytics 和 firebase 都为您提供崩溃报告,但它们只提供堆栈跟踪和其他一些信息。我也需要在非崩溃案例中记录日志。 Instabug 看起来不错,但它不是免费的
  • @MohammedAtif 实际上有使用 firebase 进行事件记录,所以这是可能的 - firebase.google.com/docs/analytics/android/events

标签: android logging


【解决方案1】:

我们可以使用 java.util.logging.Logger API 将写入日志写入文件。

How to write logs in text file when using java.util.logging.Logger

查看here 将崩溃日志写入文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-26
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 2021-08-20
    • 1970-01-01
    • 2016-09-16
    • 1970-01-01
    相关资源
    最近更新 更多