通过 tagname 筛选 logcat 中的输出

我试图过滤日志猫输出从一个真正的设备(而不是模拟器)的标签名称,但我得到的所有消息,这是相当垃圾邮件。我只是想从浏览器中读取消息,应该是类似于“浏览器: 或者“ webkit:”,但它不工作..。 这就是我得到的:

actual output

167374 次浏览

使用:

adb logcat -s "TAGNAME"

另一个选项是为特定标记设置日志级别:

adb logcat SensorService:S PowerManagerService:S NfcService:S power:I Sensors:E

如果您只想为某些标记设置日志级别,那么可以逐个标记进行设置。

如果有人像我一样碰巧发现了这个问题,你可以通过在两者之间加一个逗号来过滤多个标记,如下所示:

adb logcat -s "browser","webkit"

下面是我创建标记的方法:

private static final String TAG = SomeActivity.class.getSimpleName();
Log.d(TAG, "some description");

你可以用 getCannonicalName

这里我有以下标签过滤器:

  • 任何(*)视图-冗长
  • 任何(*)活动
  • 任何以 Xyz (*)开头的标记-错误
  • Out-SILENT (因为我在自己的代码中使用了 Log)

在这里我输入终端:

$  adb logcat *View:V *Activity:V Xyz*:E System.out:S

不要依赖于 ADB shell,只需将它(ADB logcat)当作一个普通的 Linux 输出,然后将其删除:

$ adb shell logcat | grep YouTag
# just like:
$ ps -ef | grep your_proc