我观察到,当我使用Logcat Eclipse ADT for Android时,我也从许多其他应用程序获得消息。是否有一种方法来过滤这个,只显示来自我自己的应用程序的消息。
当前回答
应用程序消息
作为一个变体,你可以使用第三方脚本PID猫由杰克沃顿。这个脚本有两个主要优点:
显示来自特定应用程序包的进程的日志项 颜色logcat
从文档:
在应用程序开发过程中,您通常希望只显示来自应用程序的日志消息。不幸的是,由于进程ID在每次部署到手机时都会更改,这对grep进行正确的操作是一个挑战。 这个脚本通过应用程序包进行过滤解决了这个问题。
输出如下所示
其他回答
我写了一个shell脚本,通过包名过滤logcat,我认为这比使用更可靠
ps | grep com.example.package | cut -c10-15
它使用/proc/$pid/cmdline找到实际的pid,然后在logcat上执行grep
https://gist.github.com/kevinxucs/7340e1b1dd2239a2b04a
对我来说,这适用于mac终端 找到你有adb的文件夹,然后在终端中键入下面的命令
./adb logcat MyTAG:V AndroidRuntime:E *:S
这里它将过滤MyTAG和AndroidRuntime的所有日志
对于windows,你可以使用我的PowerShell脚本只为你的应用程序显示消息: https://github.com/AlShevelev/power_shell_logcat
如果您正在使用Eclipse,请在下面的logCat窗口中按下绿色+号,并将您的包名称(com.example.yourappname)放在按应用程序名称框中。此外,在“筛选器名称”框中选择任何适合您的名称,然后单击“确定”。当从logCat的左窗格中选择刚才添加的筛选器时,您将只看到与应用程序相关的消息。
在Windows 10上,使用Ionic,对我来说最有效的是将“findstr”与所有应用程序消息生成的“INFO:CONSOLE”结合起来。 所以,我在命令行中的命令是:
adb logcat | findstr INFO:CONSOLE
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件