Android 按标记名筛选logcat中的输出

Android 按标记名筛选logcat中的输出,android,logcat,android-logcat,Android,Logcat,Android Logcat,我试图通过标记名过滤来自真实设备(不是模拟器)的logcat输出,但是我得到了所有的消息,这是一个垃圾消息。我只想阅读来自浏览器的消息,它应该类似于“浏览器:”或“webkit:”,但它不起作用。。。 这是我得到的: 使用以下方法: adb logcat -s "TAGNAME" 另一个选项是设置特定标记的日志级别: adb logcat SensorService:S PowerManagerService:S NfcService:S power:I Sensors:E adb logca

我试图通过标记名过滤来自真实设备(不是模拟器)的logcat输出,但是我得到了所有的消息,这是一个垃圾消息。我只想阅读来自浏览器的消息,它应该类似于“浏览器:”或“webkit:”,但它不起作用。。。 这是我得到的:

使用以下方法:

adb logcat -s "TAGNAME"

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

adb logcat SensorService:S PowerManagerService:S NfcService:S power:I Sensors:E adb logcat传感器服务:S电源管理器服务:S NFC服务:S电源:I传感器:E
如果您只想为某些标记设置日志级别,可以逐个标记进行设置。

如果有人像我一样无意中发现了这一点,您可以在多个标记之间添加逗号进行过滤,如下所示:

adb logcat -s "browser","webkit"

以下是创建标记的方法:

private static final String TAG = SomeActivity.class.getSimpleName();
 Log.d(TAG, "some description");
您可以使用getCannonicalName

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

  • 任何(*)视图-详细
  • 任何(*)活动-详细
  • 任何以Xyz(*)开头的标记-错误
  • System.out-无提示(因为我使用的是登录我自己的代码)
这里是我在终端中键入的内容:

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

不要依赖于ADB shell,只需将其(ADB logcat)视为正常的linux输出,然后对其进行pip:

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

非常感谢。以上内容相当于adb logcat*:s“tagname”如何过滤出a?我相信过滤出a的唯一方法是按级别。例如,如果某个应用程序正在进行垃圾邮件调试,则将logcat级别设置为仅显示信息和更高级别:logcat*:IIs是否可以使用上面的-f filename?比如说,我的场景是按标记名过滤日志并转储到文本文件中。Das-“adb logcat TagName:s”将显示一个嘈杂的标记。解释我应该将此代码放在哪里。我是一只新蜜蜂。请Explain@Nepster在终端中键入。如果你在windows上使用cygwin,你可以使用grep…是的,这是有效的。这是一个错误的选择,因为发送了大量不必要的流量,并且过滤器显然无法工作。如果一个不相关的进程记录了一条消息,而该消息中恰好有一些字符串,那么该消息就会出现。
并且过滤器显然无法工作
,您试过了吗?我有,并根据结果粘贴了我的答案。问题是针对windows,如果在windows上使用cygwin,则无法使用grep…是的,这很有效。