我观察到,当我使用Logcat Eclipse ADT for Android时,我也从许多其他应用程序获得消息。是否有一种方法来过滤这个,只显示来自我自己的应用程序的消息。
当前回答
如果您正在使用Eclipse,请在下面的logCat窗口中按下绿色+号,并将您的包名称(com.example.yourappname)放在按应用程序名称框中。此外,在“筛选器名称”框中选择任何适合您的名称,然后单击“确定”。当从logCat的左窗格中选择刚才添加的筛选器时,您将只看到与应用程序相关的消息。
其他回答
现在可以输入tag:nameofthetag或app:nameoftheapp来过滤,而不需要在保存的过滤器栏中添加新的过滤器
在Windows 10上,使用Ionic,对我来说最有效的是将“findstr”与所有应用程序消息生成的“INFO:CONSOLE”结合起来。 所以,我在命令行中的命令是:
adb logcat | findstr INFO:CONSOLE
使用-s !
你应该使用你自己的标签,看看: http://developer.android.com/reference/android/util/Log.html 喜欢的。 日志。d(“AlexeysActivity”,“你想要记录什么”); 然后当你想读取日志时使用> adb logcat -s AlexeysActivity 过滤掉所有不使用相同标签的内容。
源
ADT v15 for Eclipse允许您指定应用程序名称(实际上是androidmanifest.xml中的包值)。
我喜欢通过应用程序进行过滤,但新的logcat在自动滚动方面有一个bug。当您向上滚动一点以查看以前的日志时,它会在几秒钟内自动滚动回底部。在日志中向上滚动1/2的位置似乎可以防止它跳回底部,但这通常是无用的。
编辑:我试着从命令行指定一个应用程序过滤器——但运气不好。如果有人解决了这个问题或者如何停止自动滚动,请告诉我。
包的名称保证是唯一的,所以你可以使用Log功能与标签作为你的包的名称,然后过滤包的名称:
注意:从构建工具21.0.3开始,这将不再有效,因为标签被限制为23个字符或更少。
日志。<日志级别>("<您的包名>","message");
adb -d logcat <您的包名>:<日志级别> *:S
-d表示实际设备,-e表示模拟器。如果有多个模拟器正在运行,您可以使用-s emulator-<模拟器编号>(例如,-s emulator-5558)
例如:adb -d logcat com.example。例子:我*:S
或者,如果您使用System.out.print将消息发送到日志中,则可以使用adb -d logcat System。out:I *:S只显示对System.out的调用。
您可以在这里找到所有日志级别和更多信息:https://developer.android.com/studio/command-line/logcat.html
http://developer.android.com/reference/android/util/Log.html
编辑:看起来我有点操之过急了,刚刚才意识到您在问Eclipse中的logcat。我上面发布的是如何从命令行通过adb使用logcat。我不确定相同的过滤器是否可以转移到Eclipse中。
推荐文章
- 错误:与依赖项“com.google.code.findbugs:jsr305”冲突
- 如何隐藏动作栏之前的活动被创建,然后再显示它?
- 是否有一种方法以编程方式滚动滚动视图到特定的编辑文本?
- 在Android中将字符串转换为Uri
- 如何在NestedScrollView内使用RecyclerView ?
- 移动到另一个EditText时,软键盘下一步点击Android
- Android应用中的GridView VS GridLayout
- Activity和FragmentActivity的区别
- 右对齐文本在android TextView
- 权限拒绝:start前台需要android.permission.FOREGROUND_SERVICE
- 在Android Studio的模拟器上截图
- 如何更改android操作栏的标题和图标
- Android Split字符串
- 让一个链接在安卓浏览器启动我的应用程序?
- 如何在Android工作室的外部库中添加一个jar ?