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


当前回答

Windows命令提示符方式:adb logcat -d | findstr <package>.使用实例

*这是jj_首先提到的,但我花了很长时间才在评论中找到它…

其他回答

这已经为我工作在git bash:

$ pid=$(adb shell ps | grep <package name> | cut -c11-15) ; adb logcat | grep $pid

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

应用程序消息

作为一个变体,你可以使用第三方脚本PID猫由杰克沃顿。这个脚本有两个主要优点:

显示来自特定应用程序包的进程的日志项 颜色logcat

从文档:

在应用程序开发过程中,您通常希望只显示来自应用程序的日志消息。不幸的是,由于进程ID在每次部署到手机时都会更改,这对grep进行正确的操作是一个挑战。 这个脚本通过应用程序包进行过滤解决了这个问题。

输出如下所示

尝试:Window -> Preferences -> Android -> LogCat。修改字段“如果…显示logcat视图”的值为“VERBOSE”。它帮助了我。

对于windows,你可以使用我的PowerShell脚本只为你的应用程序显示消息: https://github.com/AlShevelev/power_shell_logcat