adb logcat 查看日志命令行用法
以下内容为了规避平台的差异性都是进入adb shell之后的操作。
1. 查看logcat 帮助信息
logcat -h
命令选项解析:
-
”-s”选项 : 设置输出日志的标签, 只显示该标签的日志;
-
”-f”选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
-
”-r”选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
-
”-n”选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
-
”-v”选项 : 设置日志的输出格式, 注意只能设置一项;
-
”-c”选项 : 清空所有的日志缓存信息;
-
”-d”选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
-
”-t”选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
-
”-g”选项 : 查看日志缓冲区信息;
-
”-b”选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;
-
”-B”选项 : 以二进制形式输出日志;
下面是不带参数的日志输出
输出指定标签内容 :
”-s”选项 : 设置默认的过滤器, 如 我们想要输出 “hwcomposer” 标签的信息, 就可以使用adb logcat -s hwcomposer 命令;
logcat -s hwcomposer
输出日志信息到文件 :
– ”-f”选项 : 该选向后面跟着输入日志的文件, 使用adb logcat -f /sdcard/log.txt 命令, 注意这个log文件是输出到手机上,需要指定合适的路径。
logcat -f /sdcard/log.txt & # #这里的&符号表示后台执行
重定向输出
–“>”输出 : “>” 后面跟着要输出的日志文件, 可以将 logcat 日志输出到文件中, 使用adb logcat > log 命令, 使用more log 命令查看日志信息;
logcat > /sdcard/log
Crtl+C
more /sdcard/log
设置日志输出格式:
– ”-v”选项 : 使用adb logcat -v 命令
- time 命令, 可以啥看日志的输出时间;
- threadtime 命令, 可以啥看日志的输出时间和线程信息;
- ”brief”格式 : 这是默认的日志格式” 优先级 / 标签 (进程ID) :
- ”tag”格式 : ” 优先级 / 标签 : 日志信息”
- ”thread”格式 : ” 优先级 ( 进程ID : 线程ID) 标签 :
- ”raw”格式 : 只输出日志信息, 不附加任何其他 信息, 如 优先级 标签等,
- ”long”格式:” [ 日期 时间 进程ID : 线程ID 优先级 / 标签] 日志信息
清空日志缓存信息
adb logcat -c
将缓存日志输出
adb logcat -d
查看日志缓冲区信息
adb logcat -g
加载日志缓冲区
adb logcat -b
输出最近的5行日志
adb logcat -t 5
2. 过滤项解析
过滤项格式 : [:priority] , 标签:日志等级, 默认的日志过滤项是 ” *:I ” ;
-
V : Verbose (明细);
-
D : Debug (调试);
-
I : Info (信息);
-
W : Warn (警告);
-
E : Error (错误);
-
F: Fatal (严重错误);
-
S : Silent(Super all output) (最高的优先级, 可能不会记载东西);
显示 Error 以上级别的日志;
logcat *:E
过滤指定标签等级日志 :
adb logcat WifiHW:D *:S
3. 使用管道过滤日志
logcat | grep keyword;
logcat | grep -i keyword;//忽略大小写
博客参考:https://blog.csdn.net/ysh149216447/article/details/53374562