Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在命令行上筛选Logcat日志_Android_Logcat - Fatal编程技术网

Android 在命令行上筛选Logcat日志

Android 在命令行上筛选Logcat日志,android,logcat,Android,Logcat,问题:我想从命令行查看“Legendry Eagle”的日志 我试过: public static final TAG = "Legendry Eagle"; adb logcat-s“Legendry Eagle” 亚洲开发银行logcat-s 但它仍然不起作用 如果标准的adb logcat-s标记名不起作用,您可以通过管道将adb的输出输送到find以过滤您需要的内容,例如 adb logcat -s "Legendry Eagle" adb logcat -s <Lege

问题:我想从命令行查看
“Legendry Eagle”
的日志

我试过:

public static final TAG = "Legendry Eagle";
adb logcat-s“Legendry Eagle”
亚洲开发银行logcat-s

但它仍然不起作用

如果标准的
adb logcat-s标记名
不起作用,您可以通过管道将
adb
的输出输送到
find
以过滤您需要的内容,例如

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

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

使用此命令adb logcat*:W并读取此命令

如果只想显示特定标记的logcat,请按如下方式操作:

adb logcat | find "Legendry Eagle"
*:S
很重要,因为它将所有其他标记设置为静默。如果我只想在详细级别跟踪我的
MainActivity
标记,语法如下所示

adb logcat YourTAGHere:Priority *:S
编辑:
我没有找到用空格过滤标签的好方法
LegendryEagle
工作正常,但我无法筛选出
LegendryEagle

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

adb logcat MainActivity:V *:S

看看那只logcat。您得到了答案。

假设您使用Eagle作为日志标记,请使用以下命令:

亚洲开发银行logcat Eagle:*:s

据我所知,Eagle:*表示打开Eagle标记的所有日志,*:s表示使所有其他标记静音

我个人觉得EclipseLogcat视图比命令行更容易使用,它对不同级别的日志有不同的颜色,您可以创建一个过滤器并保存它,它将永远留在那里,直到您删除该过滤器

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

将只显示带有“您的标记”的日志。

Offtopic:为什么您使用DOS Promt而不是Eclipse进行调试?或者您没有调试?使用[this][1]链接,可能会有帮助[1]:您确定您没有简单地拼写错误命令上的标记吗?也许您的项目实际上使用了Legendary Eagle,但您正在搜索Legendry Eagle(反之亦然)。文档中说,
系列规范是以空格分隔的。
因此,如果您试图按空格进行筛选,则无法使用标记中的空格。web视图会将所有
控制台.log
记录到“web控制台”,所以这并没有真正的帮助。文档说
这一系列规范是以空格分隔的。
这可能就是为什么他的“Legendry Eagle”标记未能筛选。+1用于*:S。现在我清楚地知道了如何使用选项
这一系列规范是以空格分隔的
,因为您在Windows命令提示符下,当您在Windows命令提示符下时,可以使用带双引号的参数将空格括起来,即
“空白参数”
来转义它们。考虑一下
移动“c:\android文件”“c:\my code\android文件”
。这意味着您应该能够做到:
adb logcat“Legendary Eagle:Priority”*:S
。我无法确切地确认,因为我没有任何空白使用标记进行测试,但这起到了作用:
adb logcat”StatusBarManagerService:V“*:S
这说明它在Windows上,而不是在adb系统上。即使使用双引号,adb也只使用第一个字来过滤输出。如果要过滤包含空格的字符串,则提供解决方案。>*:S很重要,因为它会将所有其他标记设置为静默+1 thx!带有“find xyz”的扩展也解决了我的问题,thx!(除非你进行一个完整的1小时研究,否则互联网不会告诉你这一点)这解决了我的问题。*:S和-S方法可能已经过时。
adb logcat | grep "your tag"