Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/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
LogCat中的过滤器标记(在Android Eclipse插件中)_Android_Logging_Adb_Logcat_Ddms - Fatal编程技术网

LogCat中的过滤器标记(在Android Eclipse插件中)

LogCat中的过滤器标记(在Android Eclipse插件中),android,logging,adb,logcat,ddms,Android,Logging,Adb,Logcat,Ddms,LogCat输出下方有一个文本字段“过滤器”。但是,它似乎只过滤消息列。我也想过滤标签。因为有我的班名 如何实现它?在日志cat窗口的右上角有一个看起来像绿色+的按钮,如果您将鼠标悬停在该按钮上,在弹出窗口中显示“创建过滤器”,您可以根据日志标签进行过滤。它使用您指定的筛选器名称在log cat中创建一个新选项卡。然后,该标记的所有输出都将转到该选项卡,而不是“日志”选项卡。在shell中运行logcat,并通过grep进行传输 甚至可能有一种方法可以在eclipse窗口中执行此操作,以捕获输出

LogCat输出下方有一个文本字段“过滤器”。但是,它似乎只过滤消息列。我也想过滤标签。因为有我的班名


如何实现它?

在日志cat窗口的右上角有一个看起来像绿色+的按钮,如果您将鼠标悬停在该按钮上,在弹出窗口中显示“创建过滤器”,您可以根据日志标签进行过滤。它使用您指定的筛选器名称在log cat中创建一个新选项卡。然后,该标记的所有输出都将转到该选项卡,而不是“日志”选项卡。

在shell中运行logcat,并通过grep进行传输


甚至可能有一种方法可以在eclipse窗口中执行此操作,以捕获输出。

这在所有平台上都应该是相同的,但我特别在Mac Snow leopard、helios上这样做

使用最新的eclipse和android插件,进入Windows->show view->android->logcat

然后在视图的右上角有过滤器按钮:“V”“D”“I”“W”“E”然后是a+编辑和-

单击+并键入标记或pid

享受过滤后的logCat

来自以下位置的样本:

adb logcat活动管理器:I MyApp:D*:S

*:S
非常重要,因为这将抑制与我们指定的标签不同的其他标签

不幸的是,不能在名称中使用通配符,即:

adb logcat活动管理器:I MyApp*:D*:S


不起作用。

日志标记字段接受Java正则表达式,请尝试以下操作:

^TAG_A$|^TAG_B$

与这些标签完全匹配。如果你觉得有趣的话,你可能会对复杂的正则表达式发疯

过滤时,必须在“tag:”之后不使用空格,并且所有内容都区分大小写。例如:

tag:MIRKO
tag:wif text:event
而不是

TAG: mirko

在Eclipse中,如果我想排除那些恼人的Choreographer消息,我会在logcat filter文本字段中编写这个过滤器:
tag:^(?!Choreographer)。*$
并且它排除所有标记以文本
Choreographer
开头的消息


如果需要多个排除项:
标记:^(?!Choreographer | dalvikvm heap | Trace)。*$

旧问题,但仍然相关,在这里的答案中没有看到此答案。

要按logcat textfield中的多个列进行筛选,只需在正则表达式之间使用
空格
,列标题以小写形式后跟
即可将正则表达式分配给该列,而不是默认的“
文本:

例如:

tag:MIRKO
tag:wif text:event
空格“
”用作AND参数。
没有空格的单个“
|
”是OR。

关于我在这里看到的一条评论——实际上不需要通配符,因为它会在筛选文本前后自动应用。
如果不需要通配符,可以使用正则表达式语法来限制字符串
例如:
^starswith
fullword$


提示:如果要匹配输出中的空格字符或制表符,只需在所需位置键入:
\s

在LogCat的搜索文本框中,您将看到提示文本“搜索消息,接受Java正则表达式,前缀为pid:,应用:,标记:或文本:以限制范围。”


所以只需输入标记:您的标记名不能使用像“com.mynamespace.*”这样的通配符;(但是谢谢你给我展示了这个函数;)我真的很想在这里也能使用通配符。你能提供命令如何在shell中使用管道吗?抱歉,我是在使用GUI的操作系统中长大的,对这些事情一无所知……adb logcat | grep someNameOfInterest您还可以使用-I标志使其不区分大小写。哦,你必须有grep,也就是说,在linux、unix、cygwin或msys上,或者在你的操作系统上有一个grep可执行文件。欢迎来到StackOverflow!这似乎只在ADT中起作用,因为如果我以编程方式使用它(Runtime.getRuntime().exec(“logcat[]…[]]),它就不起作用了。我无法再测试给定的答案,因为我停止了开发安卓应用程序。如果您已经测试了答案,并且符合我问题的要求,请建议我是否将其标记为“完成”。感谢您提供的带有空格的提示\s,这正是我想要的