首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Android adb logcat通过标签名称排除某些消息?

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

Stack Overflow用户
提问于 2011-04-01 17:19:33
回答 9查看 57.2K关注 0票数 128

Logcat允许过滤日志,但它的工作方式是这样的:定义过滤器,logcat只显示与过滤器匹配的消息。但是,有没有一种方法可以显示除一些由过滤器定义的标记之外的所有日志?

EN

回答 9

Stack Overflow用户

发布于 2013-01-31 00:54:49

您可以在DDMS Monitor (以及Eclipse或Android Studio)中使用正则表达式输入框和negative look-ahead assertions执行此操作,例如,我使用以下内容从我的日志中排除了大量噪音:

代码语言:javascript
复制
tag:^(?!(WifiMulticast|WifiHW|MtpService|PushClient))

( " Tag :“不是正则表达式的一部分,但告诉LogCat仅将正则表达式应用于标记字段。如果您在保存的过滤器中使用此技巧,则只将正则表达式放入"Tag“输入框中,并省略"tag:”前缀)

在Android Studio的logcat监视器窗格中,您可以通过打开右上角的下拉列表(可能选择了"Show only selected application“)并选择Edit filter Configuration来设置一个已保存的过滤器。创建一个新的logcat筛选器,并将^(?!(WifiMulticast ...etc。在选中Regex复选框的情况下,在日志标签框中输入))

票数 224
EN

Stack Overflow用户

发布于 2015-04-15 02:27:10

如果您想在安卓直播间中根据标签名称排除或过滤某些消息,请进入LogCat window=>Edit过滤配置,在按日志标签(正则表达式)下输入如下内容:

代码语言:javascript
复制
^(?!(tag1|tag2|tag3|tag4))

请注意,没有空格,这一点很重要

票数 77
EN

Stack Overflow用户

发布于 2013-07-04 19:04:59

在shell中,您可以使用如下命令:

代码语言:javascript
复制
adb logcat AlarmManagerService:S PowerManagerService:S *:V

这将包括除带有AlarmManagerServicePowerManagerService标签的日志之外的所有日志。

( :S代表"silent",这意味着不会为这些标记打印任何内容;:V代表"verbose“,这意味着将为所有其他标记打印所有内容。Android documentation for logcat提供了有关可在过滤器中使用的其他选项的更多详细信息。)

您还可以使用ANDROID_LOG_TAGS环境变量来设置默认过滤器,例如(在bash中):

代码语言:javascript
复制
export ANDROID_LOG_TAGS="AlarmManagerService:S PowerManagerService:S *:V"
票数 40
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5511433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档