2012-12-31 90 views
3

我知道有很多这样的问题,但我相信我的情况有点不同。过滤logcat输出

我知道如何创建不同的应用程序过滤器,但问题是,我的logcat似乎是打印大量的OpenGL和其他信息,如“JpgDecHal”,“输入”,“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): [email protected] 
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

除了所有其他的建议;这里有一个NOT正则表达式会告诉你,除非你在()列表中的项目的一切:

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

当然,你需要选择你自己的条款。这些只是我在过滤器中放置的项目的示例。

+1

标签(memalloc,资源等)将不会显示?如果是这样,你的可能是最好的答案 – Asim

+1

得到它的工作:)非常感谢。我在标签中添加了'Activity Thread','Posix','JpgDecHal'和'OpenGL'。 – Asim

+0

@Asim很好!很高兴它为你工作。这当然使我更容易清理日志;) –

0

使用唯一的标签在你所有的日志报表,然后只有标签进行筛选。这样一来,你就只能得到与标签的语句,即使你的应用程序的过程中有其它记录的语句,比如OpenGL等

喜欢的东西:

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

然后在eclipse文件管理器使用logcat的:

tag:MySuperUniqueTag 
+0

是的,但..没有其他方式吗?我有几个不同的标签。例如,当调用相同的web服务来上传视频,音频和文本时,标签帮助我区分。 – Asim

+0

您可以使用OR'|'运算符筛选多个标签。 –

+0

如果您需要更精细的控制,LogCat筛选框也会接受Java RegEx。 –

0

在您的应用程序的classTAG文件中,这将确保只有来自您的应用程序的日志才会显示在LogCat窗口中。

在Logcat搜索栏的右侧有一个小框,默认情况下它的名字是verbose。当您单击该框时,将名称更改为debug。这将确保只有Log.d语句会出现在LogCat窗口中。

我希望这会有所帮助。

+0

所有这些OPENGL信息也是由我的应用程序生成的调试信息。所以不会有帮助:( – Asim