语法:
[adb] logcat [<option>] ... [<filter-spec>] ..
选项:
-b < buffer > 指定要查看的日志缓冲区,可以是system,events ,radio,main . 默认值是system和main ,该选项可以多次出现,以指定可以查找多个缓冲区,例:
adb logcat -b system -b events -b radio -b main
-c 清楚指定的日志缓冲区,默认为system和main
-d 输出日志到屏幕上
-f < filename > 指定输出日志信息的< filename > ,默认是stdout
-g 输出指定的日志缓冲区,输出后退出
-n < count> 设置日志的最大数目< count >,默认值是4,需要和 -r 选项一起使用
-r < kbytes > 每< kbytes > 时输出日志,默认值为16,需要和-f 选项一起使用
-s < filter-spec >以“tag:priority”的形式对日志输出进行过滤,tag是指Log.i,Log.d,Log.i,Log.w,Log.e,Log.wtf系列函数中的tag,tag的默认过滤级别为silent,而系统把tag的默认过滤级别设置为Verbose,优先级priority有以下几种,按照从低到高顺利排列如下:
V — Verbose (lowest priority) 对应于Log.i()系列函数
D — Debug 对应于Log.d()
I — Info 对应于Log.i()
W — Warning 对应于Log.w()
E — Error 对应于Log.e()
F — Fatal 对应于Log.wtf()
S — Silent (最高优先级,什么也不显示)
如果想要减少输出内容,可以加上过滤器表达式进行限制,过滤器可以限制系统只输出指定的标记-优先级组合。tag标记标识的所有大于等于指定优先级(priority)的消息被写入日志。也可以在一个过滤器表达式中提供多个这样的过滤,它们之间用空格隔开。
adb logcat Test1:W Test2:F *:S
上面给出的例子是仅输出标记为“Test1”并且优先级大于等于“Warning”和标记为“Test2”并且优先级大于等于“Fatal”的日志,最后的 *:S 用于设置所有标记的日志优先级为S,这样可以确保仅有标记为“Test1“和“Test2”的日志被输出
-v < format > 设置日志输入格式,默认是brief
brief : 显示优先级/标记和原始进程的PID
process : 显示进程PID
tag : 显示优先级/标记
thread : 显示进程:线程和优先级/标记
raw : 显示原始日志信息,没有其他元数据字段
time : 显示日期,调用时间,优先级/标记,PID
long : 显示所有的元数据字段并且用空行分隔消息内容