Logcat 是一个用于转储系统日志的工具,包括发生错误时的堆栈信息及使用 Log 类主动打印的日志
在命令行中使用
adb logcat
或者
adb shell
#logcat
参数
- -b 指定日志 buffer
- radio 包含天线,通话相关日志
- events 包含系统的二进制日志
- main 主 buffer(default)
- system 系统日志(default)
- crash 崩溃日志(default)
- all 所有 buffer
- default 指定 main,system,crash
示例
logcat -b main -b radio -b events
logcat -v main,radio,events
- -c 清除选定 buffer 并退出
- -e 使用正则表达式过滤
- -m 打印指定行数
- -d 将日志输出到屏幕并退出
- -f 将日志输出到指定文件
- -g 打印指定 buffer 的大小并退出
- -n 指定最大转储数量
- -r 单个日志文件达到指定值时转储
- -n -r -f 需要一起使用,在大量日志输出时每个文件达到指定大小就会新建文件保存(似乎只能在shell中使用)
- -s 等同于过滤器 “*:S”
- -v 设置日志输出格式
- brief 显示优先级,tag和pid
- long 显示所有元素,并以空行间隔
- process 显示pid
- raw 显示原始日志
- tag 显示优先级和tag
- thread 显示优先级,pid,tid
- threadtime (default)显示日期,调用时间,优先级,tag,pid,tid
- time 相比 threadtime 少了 tid
- -D 在每个 buffer 之间打印分割线
- -t 打印最近的指定行数(包含 -d)
- -t '
adb logcat -t '01-26 20:52:41.820'
- -L 打印自重启以来的日志
- -B 以二进制的形式输出日志
- -S 打印日志统计信息, 帮助找出打印太多日志的进程
- -G 设置日志缓冲区的大小
- -p 打印当前的黑白名单
- -P '<white_and_black_list>' 指定黑白名单
- --pid= 打印指定pid的日志
过滤日志
日志优先级
- V
- D
- I
- W
- E
- F
- S
示例
过滤tag为“ActivityManager”,级别为I或以上的日志(尾部需加上*:S)
adb logcat ActivityManager:I *:S