我不希望看到来自adb logcat
命令的调试日志。我手机上有大量的调试日志,我不想看到它们。
adb logcat --help
说" *:I "
只会输出信息日志,但是有任何选项可以过滤除调试之外的所有日志。
答案 0 :(得分:82)
从docs here开始,当您指定日志级别过滤器时,它将显示该级别及更高级别的所有邮件。级别指定为:
The priority is one of the following character values, ordered from lowest to highest priority:
V — Verbose (lowest priority)
D — Debug
I — Info (default priority)
W — Warning
E — Error
F — Fatal
S — Silent (highest priority, on which nothing is ever printed)
另外,从他们说的文档:
以下过滤器表达式在所有标记上显示优先级为“warning”及更高级别的所有日志消息:
adb logcat *:W
因此,考虑到这一点,传递您提到的过滤器*:I
将记录除Verbose和Debug日志之外的所有内容。
除非您的目的是显示Verbose以及其他日志级别,否则我认为您不能这样做,因为指定Verbose包含任何高于Verbose的内容。
如果是这种情况,过滤特定标记而不是特定日志级别或两者的某种组合可能对您有用。
答案 1 :(得分:12)
adb logcat *:I
将显示优先级为INFO且更高的所有日志。
中找到优先级是以下字符值之一,从最低优先级到最高优先级排序:
- V - 详细(最低优先级)
- D - 调试
- 我 - 信息
- W - 警告
- E - 错误
- F - 致命
- S - 无声(最高优先级,无需打印任何内容)
答案 2 :(得分:4)
启用某些华为设备的日志记录:
拨* *#*#2846579#*#*
选择' ProjectMenu'
选择'背景设置'
选择'日志设置'
选择'日志切换'
启用'登录'
选择'日志级别设置'
启用' DEBUG'
按'返回'键
选择'转储和记录'
启用'打开转储并记录'
按'返回'键5次返回主屏幕。
重新启动手机。
LogCat现在可以正常工作。
答案 3 :(得分:2)
如果您在 zsh 上(例如在 Catalina OSX 上)而不是bash,则可能需要执行以下命令:
使用--- noglob adb logcat *:E
---用以下任何内容替换 E 。
或者,您也可以使用--- adb logcat '*:E'
---(用引号引起来)
V: Verbose
D: Debug
I: Info
W: Warning
E: Error
F: Fatal
S: Silent
原因是Zsh会在您要扩展以该字母结尾的文件时将通配符解释为没有引号引起来的文件或noglob前缀。
答案 4 :(得分:1)
logcat
不会只显示Debug,而是可以显示Debug及更高版本(Debug,Info,Warning,Error,Fatal),并显示以下内容:
adb logcat YourLogTag:D *:S
*:S
禁止显示其他应用程序的日志。
您可以通过grep
通过管道传递结果以仅显示Debug:
adb logcat YourLogTag:D *:S | grep "D YourLogTag"
答案 5 :(得分:0)
您可以使用其包名称为特定应用程序创建过滤器。