2012-12-18 110 views
29
public static final TAG = "Legendry Eagle"; 

问题:我想从命令行看到日志"Legendry Eagle"在命令行上过滤Logcat日志

我想:

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

但它仍然是行不通的。

+0

Offtopic显示日志:你为什么要使用DOS PROMT,而不是Eclipse进行调试?还是你没有调试? – RvdK

+0

使用[本] [1]链接,它可能有帮助 [1]:http:// stackoverflow。com/questions/7537419/how-to-filter-android-logcat-by-application –

+2

你确定你不是简单地在命令上拼写错误吗?也许你的项目实际上使用_Legendary Eagle_,但你正在寻找_Legendry Eagle_(反之亦然)。 –

回答

52

如果你只想显示logcat的一个特定的标签,像这样做:

adb logcat YourTAGHere:Priority *:S 

*:S是很重要的,因为它会将所有的标签沉默。如果我只想在Verbose级跟踪我的MainActivity标记,则语法如下所示。

adb logcat MainActivity:V *:S 

编辑: 我发现用空格过滤掉标签没有什么好办法。 LegendryEagle工作正常,但我无法过滤Legendry Eagle

+1

Docs说'这一系列的规格是空格分隔的。这可能是他的“Legendry Eagle”标签无法过滤的原因。 –

+0

对于*:S的*:S' – Guy

+4

+1。它现在对我来说很清楚如何使用选项 – wolfovercats

13

如果标准adb logcat -s tagname不工作,你总是可以管adbfind输出过滤你需要什么,像

adb logcat | find "Legendry Eagle" 

这通过整个的logcat到DOS命令find,这在打开包含Legendry Eagle字符串的行。

+0

'find xyz'的扩展也解决了我的问题,thx! (这是互联网不会告诉你的最小的一点,除非你进行一整小时的研究) –

+0

对我来说只有这个工作!谢谢 。 – Raulp

3

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

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

并看到logcat。你有你的答案。

+3

网络视图将所有'console.log'记录到“Web控制台”,所以这并没有什么帮助。 – TheHippo

0

假设你使用鹰视记录标签,使用:

亚行logcat鹰:*:■

我的理解鹰:*表示开启所有日志对于Eagle标签,*:s意味着使所有其他标签无声

我个人发现eclipse logcat视图比命令行更容易使用,它对不同级别的日志有不同的颜色,您可以创建一个过滤器并保存它,它会留下来ERE永远,直到删除该过滤器

1
adb logcat | grep "your tag" 

将只与“你的标签”

+0

好!很好的答案,但从上面的答案复制! – Takermania