过滤logcat输出

3
我知道有很多类似的问题,但我相信我的情况略有不同。
我知道如何为不同的应用程序创建过滤器,但问题是我的logcat似乎打印了很多OpenGL和其他消息,例如“JpgDecHal”、“Input”、“Posix”等。
我只想要我在代码中放置的Log.d(或.whatever)语句,而不是所有这些其他内容。
我该如何确保只获取我想要的内容,而不是这些?大多数其他手机都没问题。
以下是显示的一些行(我不需要的):
12-31 10:56:33.921: D/IPCThreadState(2360): [DN #5] BR_CLEAR_DEATH_NOTIFICATION_DONE     cookie 0xcad6e8
12-31 10:56:54.367: D/My Id(2360): hassan@yopmail.com
12-31 10:56:54.370: I/System.out(2360): [socket][21] connection     /192.168.1.142:80;LocalPort=33289(20000)
12-31 10:56:54.370: I/System.out(2360): [CDS]connect[/192.168.1.142:80] tm:20
12-31 10:56:54.371: D/Posix(2360): [Posix_connect Debug]Process com.nettech.Socialcommunity :80 
3个回答

3

除了其他建议之外,这里有一个非正则表达式,它将显示除括号中列出的项目以外的所有内容:

tag:^((?!InputEventConsistency|memalloc|Resources|global|Facade[B|U]|dalvik|skia|szipinf|APACHE).)*$

当然,您需要选择自己的条件。这些只是我在筛选器中放置的项目示例。

1
标签(memalloc,resource等)不会被显示?如果是这样,你的答案可能是这里最好的。 - Asim
1
成功了 :) 非常感谢。我添加了“Activity Thread”、“Posix”、“JpgDecHal”和“OpenGL”标签。 - Asim
@Asim 不错!很高兴它对你有用。对我来说,这确实使日志清理变得更加容易;) - Bill Mote

0

在所有的日志语句中使用唯一的标签,然后仅按该标签过滤。这样,即使您的应用程序进程有其他已记录的语句(如OpenGL等),您也只会得到带有该标签的语句。

类似于:

Log.d("MySuperUniqueTag", "My Message");

然后在Eclipse中使用LogCat过滤器:

tag:MySuperUniqueTag

是的,但是...难道没有其他方法吗?我有几个不同的标签。例如,当调用相同的Web服务上传视频、音频和文本时,标签可以帮助我区分它们。 - Asim
您可以使用 OR | 运算符过滤多个标签。 - Raghav Sood
LogCat过滤框还接受Java正则表达式,如果您需要更精细的控制。 - Raghav Sood

0
在你的过滤器中输入应用程序的classTAG,这将确保只有来自你的应用程序的日志出现在LogCat窗口中。
在Logcat搜索栏的右侧有一个小框,上面默认会显示名称为verbose。当你点击该框时,将名称更改为debug。这将确保只有Log.d语句会在LogCat窗口中出现。
希望这可以帮到你。

所有这些OPENGL消息也是由我的应用程序生成的调试消息。所以那并没有帮助:( - Asim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接