使用 Logcat 显示和过滤
在命令行上显示默认缓冲区中的所有日志可以通过以下方式完成:
adb logcat
此命令将显示设备主缓冲区中的所有日志。请注意,如果你是第一次使用它,你将获得大量信息,即大量数据。所以你可能想先清除日志……
清理日志:
adb logcat -c
这将清除日志,并重新开始。
显示备用缓冲区
除主缓冲区外还有另外两个缓冲区,可以显示如下:
adb logcat -b
buffer_name ,
其中 buffer_name 是以下之一:
radio
- 查看包含与无线电/电话相关的消息的缓冲区。events
- 查看包含与事件相关的消息的缓冲区。main
- 查看主日志缓冲区(默认)
过滤日志输出
Logcat 日志得到了所谓的级别:
V - 详细, D - 调试, I - 信息, W - 警告, E - 错误, F - 致命, S - 无声
应用程序使用这些日志功能时指定这些级别:
Log.v(); // Verbose
Log.d(); // Debug
Log.i(); // Info
Log.w(); // Warning
Log.e(); // Error
如果你的代码日志调用是:
Log.i("MainActivtyTag", "Showing the very first fragment");
在 logcat 中你会看到这个输出:
07-27 11:34:21.027 I MainActivtyTag 66 : Showing the very first fragment
所以,这是日志约定:
<timestamp> <logLevel> <tag> <line> : <messge>
例如,如果要显示具有致命(F)级别的所有日志:
adb logcat *:F
* 是一种叫做外卡的东西 - 代表所有包名
按应用程序包名称过滤
由于包名称保证是唯一的,因此你可以按包名过滤 logcat,当然你可以将它与 Level 过滤器结合使用:
adb logcat <package name>:<log level>
对于退出/中断过程 - 按 Ctrl + X