如何使用Android adb logcat通过TAG名称排除某些消息?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (25)

Logcat允许过滤日志,但它的工作方式如下:你可以定义过滤器和logcat,只显示与过滤器匹配的消息。但有没有办法显示所有日志,除了过滤器定义的一些标签?

提问于
用户回答回答于

如果你正在使用adb logcat你可以通过grep管道,并使用它的反向匹配:

v,--invert-match反转匹配的意义,选择不匹配的行。

例如:

$adb logcat | grep --invert-match 'notshownmatchpattern' 

这是一个这样的表达的例子:

"/^(?:emails|tags|addresses)"
用户回答回答于

你可以使用正则表达式输入框和负面预见断言在DDMS监视器中执行此操作,例如,我通过以下操作从日志中排除了很多噪音:

tag:^(?!(WifiMulticast|WifiHW|MtpService|PushClient))

(“tag:”不是正则表达式的一部分,但告诉LogCat只应用正则表达式到Tag字段,如果你在保存的过滤器中使用这个技巧,那么只需在“Tag”输入框中输入正则表达式,并省略“tag:”前缀)。

扫码关注云+社区