LogCat 输出下方有一个 TextField“过滤器”。但是,它似乎只过滤消息列。我也想过滤标签。因为有我的班级名称。
我怎样才能实现它?
在 log cat 窗口的右上角有一个看起来像绿色 + 的按钮,如果您将鼠标悬停在它上面会在弹出窗口中显示“创建过滤器”,您可以从中按 log 标签进行过滤。它使用您指定的过滤器名称在 log cat 中创建一个新选项卡。然后该标签的所有输出将转到该选项卡而不是“日志”选项卡。
在 Eclipse 中,如果我想排除那些烦人的 Choreographer 消息,我会在 logcat 过滤器 TextField 中编写这个过滤器:tag:^(?!Choreographer).*$
它会排除标签以文本开头的所有消息Choreographer
如果您想要多个排除项:tag:^(?!Choreographer|dalvikvm-heap|Trace).*$
该Log tag
字段接受 Java 正则表达式,所以试试这个:
^TAG_A$|^TAG_B$
与这些标签完全匹配。如果这是你的乐趣,你可以用复杂的正则表达式发疯。
老问题,但仍然相关,在这里的答案中没有看到这个答案。
要按 logcat 文本字段中的多个列进行过滤,只需space
在正则表达式之间使用 a,并使用小写的列标题,然后:
将正则表达式分配给该列而不是默认的 "text:"
例如:
tag:wif text:event
空格 ' ' 用作AND参数。没有空格
的单个 ' ' 是OR。|
关于我在这里看到的评论之一 - 确实不需要通配符,因为它会在过滤器文本之前和之后自动应用。
如果不需要通配符,可以使用正则表达式语法来限制字符串。
例如:^starswith
或fullword$
提示:如果您想在输出中匹配空格字符或制表符,只需在\s
所需位置输入:。
A sample from the ADB manual:
adb logcat ActivityManager:I MyApp:D *:S
The *:S
is vital as this would suppress other tags different than the ones specified by us.
Unfortunately, one can't use wildcards in the names, i.e.:
adb logcat ActivityManager:I MyApp*:D *:S
wouldn't work.
过滤时,'tag:' 后面不能使用空格,并且都区分大小写。例如:
tag:MIRKO
并不是
TAG: mirko
在 shell 中运行 logcat 并通过 grep 进行管道传输。
甚至可能有一种方法可以从捕获输出的 Eclipse 窗口执行此操作。
这在所有平台上都应该是相同的,但我专门在 Mac Snow leopard、helios 上这样做......
使用最新的 eclipse 和 android 插件,转到 window -> show view -> android -> logcat
然后在视图的右上角有过滤器按钮:“V”“D”“I”“W”“E”然后是+编辑和-
单击 + 并输入您的标签或 pid
享受过滤后的 logCat
在 LogCat 的搜索文本框中,您将看到提示文本“搜索消息,接受 Java 正则表达式,前缀为 pid:, app:, tag: or text: to limit scope。”
所以只需输入标签:YOUR_TAG_NAME