1. 日志缓冲区
Android把Log输出到不同的缓冲区中,目前定义了4个Log缓冲区:
Radio: 输出通信系统的日志
System: 输出系统组件的日志
Event: 输出event模块的日志
Main: 所有Java层的日志以及不属于上述3层的日志,应用的日志都输出到这个缓冲区。
2. 详细命令
2.1 命令格式:
[adb] logcat [<option>] ... [<filter-spec>]
2.2 详细参数
-b <buffer>: 输出指定缓冲区的日志,默认值为main, 可选值为: radio, system, event和main, e .g:
-c: 清楚缓冲区中的全部日志, e.g.
-g: 打印日志缓冲区大小
-d: 将缓冲区的日志转存到屏幕中,然后退出,e.g:
-n <count>: 设置日志的最大数目,默认值为4, 需要和-r选项一起使用
-r <kbytes>: 每<kbytes>时输出日志,默认为16, 需要和-f选项一起使用,e.g: 把日志写入文件,分成两个文件,每个文件大小为1kb:
-s: 设置过滤器,比如按照某个tag进行过滤,e.g:
-v <format>: 设置输入指定格式的日志消息(日志主要包含两部分:元数据+日志消息,一般以冒号隔开),支持的格式列表如下:
brief - 显示优先级/Tag和PID发出的消息(默认格式)
process - 只显示PID
tag - 只显示优先级/Tag
raw - 显示原始的日志消息
time - 显示日期及时间
threadtime - 显示线程的时间
long - 显示所有元数据,换行及单独的消息
2.3 日志优先级
2.3.1 详细优先级,优先级从低到高
V - Verbose
D - Debug
I - Info
W - Warning
E - Error
F - Fatal
S - Slient
2.3.1 结合优先级,进行筛选日志,格式为adb logcat tag:priority, e.g. (所指定优先级以上的匹配tag的日志都会输出)