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


当前回答

应用程序消息

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

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

从文档:

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

输出如下所示

其他回答

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

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

这已经为我工作在git bash:

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

这工作时,过滤行只有一个应用程序。

如果你正在使用Android Studio,你可以选择你想要接收日志的进程。 这是截图。

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