使用 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