使用adb shell禁用优先级为ERROR的垃圾邮件日志

时间:2014-11-12 19:43:44

标签: android shell android-logcat

我坚持使用一个闭源库,开发人员认为记录每个操作都是明智的,无论多么微不足道,优先级为ERROR。许多这些操作发生在连续循环中。我可以在logcat中过滤输出,但是有很多相关消息消失得比我在DDMS的logcat查看器中读取它们的速度快。

到目前为止,我已尝试过以下方法:

stop
setprop <tag> 7 //it looks like setprop expects the pri level as a string, so this won't
start           //work

stop
setprop <tag> INFO //I think this allows for INFO pri logs and above, so that doesn't
start              //help

logcat <tag>:S //should suppress all logs from the given tag, but has no effect on
               //logs in logcat and starts cloning logcat output to the shell for some
               //reason
logcat *:S //tried just to see if it would work -- it printed the beginning of new
           //empty log session to the shell and then never returned control of the shell.
           //logcat output in Eclipse was unaffected

以root身份,但这些都没有抑制ERROR垃圾邮件。我是否需要在应用上述命令的设备上指定运行的目标VM,还是在系统范围内?如果我确实需要指定VM,我该怎么办?我发现的所有相关的唯一官方文档是this用于logcat过滤。是否有任何全面的setprop手册,最好来自Google?

主要问题:有没有办法禁用/禁止具有给定标记的所有日志,即使优先级是ERROR?

it can't be turned off... but it does break easily

1 个答案:

答案 0 :(得分:1)

一种方法是从命令行过滤掉消息并将它们存储在错误文件中。 您可以尝试以下命令:

  

adb logcat :W | grep -v&#34; ^ E&#34; &gt; error.log中

  

*:W

过滤器表达式显示所有具有优先级&#34;警告&#34;的日志消息。所有标签上的更高级别

  

grep -v&#34; ^ E&#34; *

过滤掉所有错误消息。

  

&GT; error.log中

将所有这些消息保存在文件中。

希望这有帮助。