在命令行上过滤Logcat日志

时间:2012-12-18 11:14:24

标签: android logcat

public static final TAG = "Legendry Eagle";

问题:我想从命令行看到"Legendry Eagle"的日志。

我试过了:

 adb logcat -s "Legendry Eagle" 
 adb logcat -s <Legendry Eagle>

但它仍然没有用。

6 个答案:

答案 0 :(得分:57)

如果您只想显示特定TAG的logcat,请执行以下操作:

adb logcat YourTAGHere:Priority *:S

*:S很重要,因为它将所有其他标记设置为静默。如果我只想在Verbose级别跟踪我的MainActivity标记,则语法将如下所示。

adb logcat MainActivity:V *:S

修改 我找不到用空格过滤掉标签的好方法。 LegendryEagle工作正常,但我无法过滤掉Legendry Eagle

答案 1 :(得分:15)

如果标准adb logcat -s tagname不起作用,您可以随时将adb的输出传输到find以过滤您需要的内容,例如

adb logcat | find "Legendry Eagle"

这会将整个logcat传递给DOS find命令,该命令会过滤掉包含 Legendry Eagle 字符串的行。

答案 2 :(得分:5)

adb logcat | grep "your tag"

只会显示带有&#34;您的代码&#34;

的日志

答案 3 :(得分:4)

答案很简单。请删除两个单词之间的空格,然后重试。

 public static final TAG = "LegendryEagle";
 adb logcat -s "LegendryEagle" 

并查看logcat。你得到了答案。

答案 4 :(得分:2)

使用此命令adb logcat *:W并阅读此内容。 http://developer.android.com/tools/debugging/debugging-log.html

答案 5 :(得分:0)

假设您使用Eagle作为日志记录标记,请使用:

  

adb logcat Eagle:* *:s

据我了解Eagle:*表示打开Eagle标签的所有日志,而*:s表示使所有其他标签保持静音

我个人觉得eclipse logcat视图比命令行更容易使用,它对不同级别的日志有不同的颜色,你可以创建一个过滤器并保存它,它会一直存在,直到你删除那个过滤器