Android:让应用程序“仅”记录我的日志记录语句

时间:2012-08-22 16:59:52

标签: android android-logcat

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

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

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

请帮帮我 感谢

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

此类功能已由ACRA Android库实施。该库会检测崩溃,并将崩溃信息发送到Google文档电子表格或您自己的目的地。您可以使用显示here的方法添加日志的过去100行等其他信息。

答案 2 :(得分:1)

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

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

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

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

的形式添加一个
"YourCustomTag:<YOUR_DEBUG_LEVEL>" 

并取出您不想记录的内容(在这种情况下可能是MyApp:D。)