Android logcat 命令行工具
Logcat 是一个命令行工具,用于转储系统消息日志,其中包括设备引发错误时的堆叠追踪以及从您的应用使用 [Log](https://developer.android.com/reference/android/util/Log.html)
类编写的消息。
下表介绍的是 logcat 命令行选项:
修饰符 | 功能说明 |
---|---|
-c |
清除(刷新)整个日志并退出。 |
-d |
将日志转储到屏幕并退出。 |
-f <filename> |
将日志消息输出写入 <filename> 。默认值为 stdout 。 |
-g |
打印指定日志缓冲区的大小并退出。 |
-n <count> |
将已旋转日志的最大数量设置为 <count> 。默认值为 4。 需要使用 -r 选项。 |
-r <kbytes> |
每输出 <kbytes> 时旋转日志文件。默认值为 16。需要使用 -f 选项。 |
-s |
将默认过滤器规则设为静默式。 |
-v <format> |
设置日志消息的输出格式。默认值为 brief 格式有关支持的格式列表,请参阅控制日志输出格式。 |
控制日志输出格式
除标记和优先级外,日志消息还包含许多元数据字段。您可以修改消息的输出格式,以便它们可显示特定的元数据字段。为此,您可以使用 -v 选项,并指定下面列出的支持的输出格式之一。
- brief — 显示优先级/标记以及发出消息的进程的 PID(默认格式)。
- process — 仅显示 PID。
- tag — 仅显示优先级/标记。
- raw — 显示原始日志消息,不显示其他元数据字段。
- time — 显示日期、调用时间、优先级/标记以及发出消息的进程的 PID。
- threadtime — 显示日期、调用时间、优先级、标记以及发出消息的线程的 PID 和 TID。
- long — 显示所有元数据字段,并使用空白行分隔消息。
启动 logcat 时,您可以使用 -v 选项指定您需要的输出格式:
[adb] logcat [-v <format>]
下面的例子展示如何生成 thread 输出格式的消息:
adb logcat -v thread
请注意,使用 -v 选项,您只能指定一个输出格式。
查看备用日志缓冲区
Android 日志系统保留日志消息的多个循环缓冲区,而不是发送到默认循环缓冲区的所有日志消息。如需查看其他日志消息,您可以使用 -b 选项运行 logcat 命令,以请求查看备用循环缓冲区。您可以查看下列备用缓冲区的任意一个:
- radio — 查看包含无线装置/电话相关消息的缓冲区。
- events — 查看包含事件相关消息的缓冲区。
- main — 查看主要日志缓冲区(默认值)
以下是 -b 选项的用法:
[adb] logcat [-b <buffer>]
以下示例展示如何查看包含无线装置和电话消息的日志缓冲区。
adb logcat -b radio
logcat命令通过xxx.bat脚本抓取手机中产生的日志并存储到指定文件
通过以下xxx.bat脚本示例抓取日志的logcat命令
adb logcat -c
adb logcat -b main -b system -b events -b radio -v threadtime > 文件路径\logcat.txt