logcat随笔
1、命令行语法
adb logcat [option] ...[filter-spec]
2、选项(option)
-b 加载备用日志缓冲区
-c 清除所选的缓冲区并退出。默认缓冲区集为main、system和crash。要清除所有缓冲区:-b all -c
-e <expr> 只输出日志消息与<expr>匹配的行,这个是一个正则表达式
-d 将日志转出到屏幕并退出
-f <filename> 将日志消息输出写入<filename>,默认值为stdout
-v <format> 设置日志消息的输出格式,默认为threadtime
-c 清除整个日志并退出
3、过滤日志
过滤表达式:tag:priority .....(标记:最低优先级)
tag:消息所院子的系统组件(如view表示视图系统)
优先级:V详细 D调试 I信息 W警告 E错误 F严重错误 S静默(最高优先级,绝不会输出任何内容)
例如:
adb logcat ActivityManager:I MyApp:D *:S
*:S 表示其他所有都是静默,都不显示,此句表示仅显示标记ActivityManager和MyApp,且ActivityManager优先级不低于信息,MyApp优先级不低于调试
4、控制日志输出格式
格式:adb logcat [-v format]
brief:优先级、标记、进程的PID
process:进程的PID
time:日期、调用时间、优先级、标记、进程的PID
5、查看备用日志缓冲区(buffer)
格式:adb logcat [-b <buffer>]
radio
:查看包含无线装置/电话相关消息的缓冲区。events
:查看已经过解译的二进制系统事件缓冲区消息。main
:查看主日志缓冲区(默认),不包含系统和崩溃日志消息。system
:查看系统日志缓冲区(默认)。crash
:查看崩溃日志缓冲区(默认)。all
:查看所有缓冲区。default
:报告main
、system
和crash
缓冲区。
详见:https://developer.android.google.cn/studio/command-line/logcat#alternativeBuffers