如何在Android Studio的logcat中排除Log标记?

66

我不确定是否之前有类似的问题(我尝试了Google搜索,但没有找到解决我的问题的正确方法)。

我的希望是我可以禁用(排除)项目中使用的库中的Log标签。

我尝试进入 Logcat控制台>编辑过滤器配置>Log Tag (正则表达式),但是我必须每次创建新的Log Tag时添加它。 (这种方式将不会在我的logcat中显示任何异常)

与此主题相同 在Android Studio中如何过滤logcat? 我选择了选择正在运行的进程,如@dmsherazi建议,但我仍然可以看到来自库的许多log tag。

那么,在Android Studio中排除特定的log tag是否有办法(我正在使用v1.2 beta3)?


3个回答

176

很抱歉在提问后20分钟回答了自己的问题。

我的朋友刚刚给我发了一个解决我的问题的链接:

在这里:如何使用Android adb logcat排除特定标签名称的某些消息?

适用于Android Studio用户:

转到Logcat console > Edit Filter Configuration > Log Tag(regex),然后将其替换为以下内容。

^(?!(EXCLUDE_TAG1|EXCLUDE_TAG2))

请注意,EXCLUDE_TAG1和EXCLUDE_TAG2是您从logcat中排除的日志标签。


回答这个问题的另一种方法是排除所有标记,除了INCLUDE_TAG以外的标记。

(?:INCLUDE_TAG) for one tag
(?:(INCLUDE_TAG1|INCLUDE_TAGx)) for multiple tags

1
你觉得怎么样?我在 Android Monitor 的 logcat 选项卡中,但是我没有看到任何地方有“编辑过滤器配置”的选项。我正在运行 Android Studio 2.2.3。 - LarsH
2
没事了,我找到了……它是在最右边的下拉菜单选项之一。下拉菜单可能显示“无过滤器”、“仅显示选定的应用程序”等。这是一个糟糕的用户界面设计,其中这些选项之一会弹出设置对话框! - LarsH
2
这似乎禁用了“仅显示选定应用程序”,这会使日志中涌现出太多的内容。我不得不手动将“包名称”添加到“_my.package.name_”而没有使用正则表达式。 - FirstOne
我发现只需在最后一个标签后不断添加“|EXCLUSION_TAGx”,就可以添加任意多个排除项。 - Someone Somewhere
@Killer,在一个正则表达式中同时使用包含和排除是没有意义的,因此我更新了答案,采用“排除所有,除了”方法。 - Someone Somewhere
显示剩余2条评论

8

通过新的 Android Studio Logcat,您可以使用以下筛选器进行操作:

-tag:tag_to_exclude

根据文档的说明:
引用: 通过在字段名前加上 - 来表示否定。例如,-tag:MyTag 匹配标签不包含字符串 MyTag 的日志条目。

谢谢。这应该是被接受的答案。 - jur

0
例如,如果你想要排除 "native",在 "Log Tag:" 中输入^(?!(native|FEngine)) 并勾选正则表达式。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接