4

我计划签署一个 apk 并发布它(通过导出 Eclipse 工具)。然后上传到市场。我知道 debuggable 在签名时默认设置为 false ,这意味着不会捕获任何日志。同时,如果我将 debuggable 设置为 true 并释放 apk,那么我将获得所有日志。

我真正感兴趣的是仅由我添加的最后一个调试语句。目前,我正在使用 Log.i 语句添加信息日志。有没有办法让我的应用程序只记录信息日志(即只记录我的日志)。Mybe,如果我禁用日志并拥有 system.out.print 它会起作用吗?

我这样做的原因是因为我想在发生崩溃时发送最后 100 行日志,并且我只对我的日志语句感兴趣。

请帮帮我谢谢

4

3 回答 3

1

您必须在 Log 顶部放置一个包装器,您可以在其中放置控制日志级别的功能。

于 2012-08-22T17:05:11.440 回答
1

ACRA Android 库已经实现了这种类型的功能。该库检测崩溃,并将崩溃信息发送到 Google Docs 电子表格或您自己的目的地。您可以使用此处显示的方法添加其他信息,例如日志的过去 100 行。

于 2012-08-22T17:10:42.320 回答
1

我相信您需要做的是利用 ACRA 的内置过滤功能:

在 Advanced Usage wiki中,您可以看到您可以在配置中设置 logcat 参数。

在您的日志记录中,使用特定标记和调试级别标记您的自定义日志消息,然后在 logcat 参数中,然后设置一个参数:

logcatArguments = { "-t", "100", "-v", "long", "ActivityManager:I", "MyApp:D", "*:S" }

以以下形式添加一个

"YourCustomTag:<YOUR_DEBUG_LEVEL>" 

and take out the ones you don't want to be logged (probably MyApp:D in this case.)

于 2012-08-22T18:20:14.153 回答