过滤 LogCat 以仅从 Android 中的“我的应用程序”中获取消息?

新手上路,请多包涵

我观察到,当我将 Logcat 与 Eclipse 和 ADT for Android 一起使用时,我也会从许多其他应用程序中获取消息。有没有办法过滤这个并只显示来自我自己的应用程序的消息。

原文由 Vinod 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 664
2 个回答

包名称保证是唯一的,因此您可以 使用 Log 函数并将标签作为您的包名称,然后按包名称过滤

注意:从 Build Tools 21.0.3 开始,这将不再有效,因为 TAGS 限制为 23 个字符或更少。

Log.<log level>("<your package name>", "message");

adb -d logcat <your package name>:<log level> *:S

-d 表示实际设备, -e 表示仿真器。如果运行的模拟器超过 1 个,您可以使用 -s emulator-<emulator number> (例如 -s emulator-5558

示例: adb -d logcat com.example.example:I *: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 中。

原文由 shanet 发布,翻译遵循 CC BY-SA 3.0 许可协议

窗口命令

例如,如果您的应用程序包名称为: com.nader.chat

 cd C:\Users\[your-username]\AppData\Local\Android\Sdk\platform-tools
adb shell logcat *:E | findstr /c:"at com.nader.chat"

在此处输入图像描述

  • :E 只是从日志中过滤 Erros,您可以将其替换为 V : Verbose (最低优先级) , D : Debug , I : Info , W : Warning , F : Fatal
  • 您编写的源代码中查找错误,而不是针对其他相关模块

原文由 Eyni Kave 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题