我观察到,当我使用Logcat Eclipse ADT for Android时,我也从许多其他应用程序获得消息。是否有一种方法来过滤这个,只显示来自我自己的应用程序的消息。


当前回答

当你在shell内部时,获取确切包名日志的另一种方法:

logcat --pid $(ps -ef | grep -E "com.example.app\$" | awk '{print $2}') 

其他回答

这适用于我的USB调试:

解决方案是通过shell直接使用您的设备自己的logcat。

连接设备并使用: 亚行壳 在shell设置完成后使用logcat: Logcat | grep com.yourapp.packagename

我不确定是否有一种方法只能看到关于你的应用程序的系统消息,但你可以基于字符串进行过滤。如果在程序中执行日志,则可以只包含某个惟一的关键字,并基于该关键字进行筛选。

我有不同的方法,你可以尝试访问本地设备的shell。

亚行壳

然后是

Logcat | grep com.package.name

这个印刷品里都有那个包裹。

或者,您可以尝试颤振日志—详细

现在可以输入tag:nameofthetag或app:nameoftheapp来过滤,而不需要在保存的过滤器栏中添加新的过滤器

Linux和OS X

使用ps/grep/cut获取PID,然后使用grep获取具有该PID的logcat条目。下面是我使用的命令:

adb logcat | grep -F "`adb shell ps | grep com.asanayoga.asanarebel  | tr -s [:space:] ' ' | cut -d' ' -f2`"

(您可以进一步改进正则表达式,以避免不相关的日志行包含相同的数字的理论问题,但这对我来说从来都不是问题)

这在匹配多个进程时也适用。

窗户

在Windows上,你可以这样做:

adb logcat | findstr com.example.package