logcat工具介绍

来源:互联网 发布:联系人数据恢复 编辑:程序博客网 时间:2024/06/04 21:11
logcat工具介绍
一、概述
logcat功能:查看和跟踪系统日志缓冲区的命令
格式:
[adb] logcat [<option>] ... [<filter-spec>] ...


二、使用方法
1、option选项包括:
1)-s:设置默认的滤波
2)-f <filename>:log保存路径,默认输出到标准输出流
3)-v <format>:设置log打印格式
4)-c:清除/倾倒所有log并且退出
5)-d:输出log并且退出
6)-g:获取环形缓冲区大小并退出
7)-b <buffer>:请求可选的环形缓冲区(可以多选:默认为 -b main -b system -b crash)


2、过滤日志输出
每一条日志消息都有一个标记和优先级与其关联。
标记是一个简短的字符串,用于标识原始消息的来源("View"来源于显示系统)


V --明细(最低优先级)
D --调试(Debug)
I --信息(Info)
W --警告(Warn)
E --错误(Error)
F --严重错误(Fatal)
S --无记载(最高优先级,没有什么会被记载)


通过运行logcat,可以获得一个系统中使用的标记和优先级的列表,观察列表的前两列,给出的格式是:<priority>/<tag>


如果想要减少输出的内容,可以加上过滤器表达式进行限制,过滤器可以限制系统只输出感兴趣的标记-优先级组合。
过滤器表达式的格式是tag:priority ...,其中tag是标记,priority是最小的优先级,该标记标识的所有大于等于指定优先级的消息被写入日志。
也可以在一个过滤器表达式中提供多个这样的过滤,它们之间用空格隔开。


eg:
adb logcat powerUI:D *:S


解释:输出tag为powerUI,最低等级为D, *:S用于设置所有标记的日志优先级为S,这样可以确保仅有标记为“powerUI”的日志被输出,使用*:S是可以确保
输出符合指定的过滤器设置的一种推荐的方式,这样过滤器就成为了日志输出的“白名单”。




3、控制日志格式


日志消息在标记和优先级之外还有很多数据字段,这些字段可以通过修改输出格式来控制输出结果,-v选项加上相应的内容可以控制输出字段:


1)brief:显示优先级/标记和原始进程的PID(默认格式)
2)process:仅显示进程PID
3)tag:仅显示优先级/标记
4)thread:仅显示进程,线程和优先级/标记
5)raw:显示原始的日志信息,没有其他的元数据字段
6)time:显示日期,调用时间,优先级/标记,PID
7)long:显示所有的元数据字段并且用空行分隔消息内容
8)printable:默然显示方式(时间、PID、UID都包含)
9)threadtime:显示时间,PID UID
10)usec:时间戳精确到微秒
11)color:每行log信息加前缀“”,加suffix“”




eg:可以使用-v启动logcat来控制日志格式:
[adb] logcat [-v <format>


adb logcat -v thread(注意:可以指定多种格式 ,如:-v thread time long)


4、Viewing Alternative Log Buffers(查看可选Log缓冲区)


Android日志系统为日志消息保持了多个循环缓冲区,而且不是所有的消息都被发送到默认缓冲区,要想查看这些附加的缓冲区,可以使用-b选项:


1)radio:查看包含在无线/电话相关的缓冲区消息
2)events:查看事件相关的消息
3)main:查看主缓冲区(默认缓冲区)
4)crash:查看严重错误信息
5)all:查看所有信息
6)system:查看系统相关信息


三、查找字符串
1)adb logcat | findstr string(支持)
2)adb logcat | grep string(不支持)


四、查看logcat使用手册
adb logcat -help


0 0
原创粉丝点击