我观察到,当我使用Logcat Eclipse ADT for Android时,我也从许多其他应用程序获得消息。是否有一种方法来过滤这个,只显示来自我自己的应用程序的消息。
当前回答
5月17日更新
几年过去了,情况变了。Eclipse也不再受官方支持。这里有两种最新的方法:
1. Android工作室
在Android监视器工具箱中,您可以根据可调试进程过滤logcat。通常,当您开发应用程序时,它是一个可调试的过程。每隔一段时间我就会遇到这样的问题,然后我就会这样做:
工具-> Android ->启用ADB集成。 如果它已经启用,那么将其关闭,然后再打开 拔下移动设备的电源插头。
还有通过正则表达式和调试级别进行过滤的选项
2. logcat-color
如果你想使用基于终端的解决方案,这是adb logcat之上的一个漂亮的python包装器。这样做的好处是您可以保存多个配置并简单地重用它们。通过标记进行筛选非常可靠。你也可以过滤包只看到一个或多个应用程序的日志,但你启动logcat-color在启动你的应用程序之前。
旧的回答:
似乎我不能评论之前的答案,所以我将发布一个新的。 这是对Tom Mulcahy的回答的评论,说明了该命令应该如何更改,以便在大多数设备上工作,因为adb shell ps PID列是可变的。
注意:下面的命令适用于连接了许多设备的情况。所以需要设备id。否则,可以简单地省略括号'[',']'
1. 要找出pid的列,输入:
adb [-s DEVICE_ID] shell ps | head -n 1
现在记住PID的列号。编号从1开始。
2. 然后输入以下内容:
adb [-s DEVICE_ID] logcat | grep $(adb [-s DEVICE_ID] shell ps \
| grep "com.example" | awk -F" " ' {print $PUT_COLUMN_HERE}')
简单地把你记住的列放在PUT_COLUMN_HERE中,例如$5
警告
每次重新运行应用程序时,都必须重新运行第二个命令,因为应用程序从操作系统获得了一个新的PID。
其他回答
应用程序消息
作为一个变体,你可以使用第三方脚本PID猫由杰克沃顿。这个脚本有两个主要优点:
显示来自特定应用程序包的进程的日志项 颜色logcat
从文档:
在应用程序开发过程中,您通常希望只显示来自应用程序的日志消息。不幸的是,由于进程ID在每次部署到手机时都会更改,这对grep进行正确的操作是一个挑战。 这个脚本通过应用程序包进行过滤解决了这个问题。
输出如下所示
对我来说,这适用于mac终端 找到你有adb的文件夹,然后在终端中键入下面的命令
./adb logcat MyTAG:V AndroidRuntime:E *:S
这里它将过滤MyTAG和AndroidRuntime的所有日志
从Android 7.0开始,logcat有——pid过滤选项,pidof命令可用,将com.example.app替换为您的包名。 (ubuntu终端/ Android 7.0起)
adb logcat --pid=`adb shell pidof -s com.example.app`
or
adb logcat --pid=$(adb shell pidof -s com.example.app)
有关pidof命令的更多信息: https://stackoverflow.com/a/15622698/7651532
这可能是最简单的解决方案。
在Tom Mulcahy的解决方案之上,你可以进一步简化它,如下所示:
alias logcat="adb logcat | grep `adb shell ps | egrep '\bcom.your.package.name\b' | cut -c10-15`"
使用方便,如普通别名。只需在shell中输入命令:
logcat
别名设置非常方便。regex使它对于多进程应用程序非常健壮,假设你只关心主进程。
因为您可以根据需要为每个进程设置更多的别名。或者用hegazy的解。:)
此外,如果您想设置日志级别,它是
alias logcat-w="adb logcat *:W | grep `adb shell ps | egrep '\bcom.your.package.name\b' | cut -c10-15`"
如果您正在使用Eclipse,请在下面的logCat窗口中按下绿色+号,并将您的包名称(com.example.yourappname)放在按应用程序名称框中。此外,在“筛选器名称”框中选择任何适合您的名称,然后单击“确定”。当从logCat的左窗格中选择刚才添加的筛选器时,您将只看到与应用程序相关的消息。
推荐文章
- 如何改变菜单项的文本颜色在安卓?
- Android选择器和文本颜色
- 视图绑定-我如何获得包含布局的绑定?
- 在Android Studio中改变矢量资产的填充颜色
- 在构建中编写注释的语法是什么?gradle文件?
- 如何以编程方式添加按钮色调
- 用Android Studio进行调试永远停留在“等待调试器”状态
- Openssl不被视为内部或外部命令
- 无法执行dex:在Eclipse中超过GC开销限制
- 如何以编程方式将视图添加到视图
- 单击url会打开默认浏览器
- 使用Retrofit刷新OAuth令牌,而不修改所有调用
- 多个dex文件定义了landoid /support/v4/accessibilityservice/AccessibilityServiceInfoCompat
- 如何获得动作栏的高度?
- 从活动外部调用startActivity() ?