Eclipse中多个标签的Android LogCat过滤器

Posted

技术标签:

【中文标题】Eclipse中多个标签的Android LogCat过滤器【英文标题】:Android LogCat Filter for multiple tags in Eclipse 【发布时间】:2011-06-26 00:39:10 【问题描述】:

单击创建过滤器无法从文档中弄清楚如何为两个或多个标签创建过滤器。如果我有两个标签 com.test.TestClassAcom.test.TestClassB 我如何创建一个过滤器来显示这两个类的日志?我看到了如何只为某些标签启动 ADB,但是如何在 eclipse 中完成呢?请提供详细信息谢谢。在 Eclipse 中创建新过滤器时,我需要在标记行中输入什么?

【问题讨论】:

【参考方案1】:

作为 Brain Reinhold 的 pointed,您可以将标签过滤器与竖线 | 结合使用(这显然意味着逻辑“或”)。您还可以在 logcat 搜索框中使用该(以及其他正则表达式)语法(通过前面带有 tag: 前缀的标签):

tag:com.test.TestClassA|com.test.TestClassB

更复杂的过滤也是可能的。例如,这里的搜索过滤器显示来自 android.process.mediacom.android.camera 应用程序的消息,这些应用程序的消息文本中至少有一个数字 (\d),并带有 dalvikvmAndroidRuntime 标签:

app:android.process.media|com.android.camera tag:dalvikvm|AndroidRuntime text:\d

一个简短而有用的过滤器是tag:^(?!dalvikvm),它可以删除所有那些嘈杂的 Dalvik 日志。

还值得一提的是,您可以通过在要禁用的部分末尾放置竖线来快速禁用过滤器的任何部分(例如,在上面的示例中,将| 放在app:android.process.media|com.android.camera 之后有效地禁用过滤器应用程序名称,同时仍保留按标签和文本进行过滤)。

【讨论】:

Use 也可以只使用小部分单词进行过滤,例如cam 而不是com.android.camera。但请记住,它区分大小写!例如。对于蓝牙开发,我使用tag:BT|luetooth|bt|Bt|MyAppTag【参考方案2】:

在最新版本的 Eclipse SDK 中,现在显示了两个 logcat 版本(一个已弃用);在不推荐使用的版本中,可以使用 OR 条组合过滤器:|

例如,当单击 + 并打开一个对话框以创建新过滤器时,为您的过滤器命名,然后在其中一个字段(例如 TAG)中输入 com.lampreynetworks|Bluetooth,您将看到以下输出所有包含com.lampreynetworksBluetooth 的标签。 '*' 在这里是隐含的,好像 TAG 的任何部分都包含将显示的任何文本。另请注意,OR 栏之间不能有空格!

我没有尝试过将“by TAG”和“by(其他选项)”结合使用,但不知何故,我有一种感觉行不通

【讨论】:

OR 栏之间没有空格!【参考方案3】:

2 月 12 日凌晨 2:58,AndroidDevTime 写道:

如果我有两个标签 com.test.TestClassA 和 com.test.TestClassB 如何创建过滤器 显示这两个类的日志?

“日志标签”字段接受 Java 正则表达式,所以这样做:

^com.test.TestClassA$|^com.test.TestClassB$

与您指定的那些标签完全匹配。使用正则表达式可能会更经济/更高效/无论如何,这取决于你想用它来解决多少问题。

【讨论】:

我真的不知道如何使用它。它根本无法使用 Runtime.getRuntime().exec(); 以编程方式工作;【参考方案4】:

目前不可能。 @见http://groups.google.com/group/android-developers/browse_thread/thread/17356ef7bdf1550f?pli=1 我也希望是……

【讨论】:

【参考方案5】:

我只是从命令行执行此操作。每个 adb 过滤器都有一个不同的终端。然后,如果您将它们并排排列,您就可以很好地了解正在发生的事情。

【讨论】:

【参考方案6】:

我看到的唯一方法是Create a Filter using PID,这样您的应用程序的每一条日志消息都将显示在该过滤器中。我想知道这是否可以通过当前版本的 ADT for eclipse 中的tag 名称实现。

【讨论】:

我也很高兴知道。我使用 PID、单个 TAG 和/或多个过滤器。 TAG 过滤器中没有元字符???【参考方案7】:

使用 proclogcat:http://devtcg.blogspot.com/2010/04/logcat-improved.html

它可以让您按包名称进行过滤。

【讨论】:

以上是关于Eclipse中多个标签的Android LogCat过滤器的主要内容,如果未能解决你的问题,请参考以下文章

android的日志Logger和Log比较,哪个好?

如何制作新的行或标签 XML(eclipse / android)?

在 Eclipse 中构建多个(测试/生产)版本的 Android APK

如何在没有 Eclipse 的情况下保存和查看 LogCat 错误?日志猫?

在Android中点击屏幕时如何在屏幕上显示多个标签(Textview)..? [关闭]

Eclipse ADT 项目中的 Android 数据绑定(无 gradle)