我观察到,当我使用Logcat Eclipse ADT for Android时,我也从许多其他应用程序获得消息。是否有一种方法来过滤这个,只显示来自我自己的应用程序的消息。
当前回答
在Windows 10上,使用Ionic,对我来说最有效的是将“findstr”与所有应用程序消息生成的“INFO:CONSOLE”结合起来。 所以,我在命令行中的命令是:
adb logcat | findstr INFO:CONSOLE
其他回答
对我来说,这适用于mac终端 找到你有adb的文件夹,然后在终端中键入下面的命令
./adb logcat MyTAG:V AndroidRuntime:E *:S
这里它将过滤MyTAG和AndroidRuntime的所有日志
Ubuntu: adb logcat -b all -v color——pid= ' adb shell pidof -s com。packagename '与颜色和连续日志的应用程序
这适用于我的USB调试:
解决方案是通过shell直接使用您的设备自己的logcat。
连接设备并使用: 亚行壳 在shell设置完成后使用logcat: Logcat | grep com.yourapp.packagename
这显然是一个针对从开发人员设备外部使用Logcat的问题,但是如果你想在设备上(以编程方式)显示Logcat输出,你只需要这个:
Runtime.getRuntime().exec("logcat " + android.os.Process.myPid() + " *:D");
末尾的*:D会过滤掉Debug日志级别以下的所有消息,但您可以省略它。
直接输出到,比如说,一个TextView,请看这里的例子。
这可能是最简单的解决方案。
在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`"
推荐文章
- 警告: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文件