当前位置: 代码迷 >> 综合 >> adb logcat 使用
  详细解决方案

adb logcat 使用

热度:99   发布时间:2023-11-17 09:42:10.0

adb logcat 使用

adb logcat 命令格式

adb logcat [选项][过滤项], 其中 选项 和 过滤项 在 中括号 [] 中, 说明这是可选的

选项解析

– "-s"选项 : 设置输出日志的标签, 只显示该标签的日志;

–"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;

–"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;

–"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;

–"-v"选项 : 设置日志的输出格式, 注意只能设置一项;

–"-c"选项 : 清空所有的日志缓存信息;

–"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;

–"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;

–"-g"选项 : 查看日志缓冲区信息;

–"-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;

–"-B"选项 : 以二进制形式输出日志;

常用的一些命令

adb logcat -s  #输出指定的标签内容
adb logcat -f /sdcard/log.txt  #输出保存到手机,使用如下命令可以执行后断开PC和手机持续收集LOG
 adb logcat | grep  "要查找的东西" #查询自己想要的东西
adb logcat -v time #带有时间戳的log
adb logcat > log #可以将 logcat 日志输出到文件中,使用more log 命令查看日志信息
adb logcat -d -v /sdcard/mylog.txt#可以将日志保存到手机上的指定位置
adb logcat -v threadtime#看日志的输出时间和线程信息
adb logcat -v tag #查看指定的tag的log
 adb logcat -c #可以将之前的日志信息清空, 重新开始输出日志信息
adb logcat -d  #输出命令, 之后推出命令, 不会进行阻塞;
adb logcat -t 5 #可以输出最近的5行日志, 并且不会阻塞
adb logcat -g #查看日志缓冲区信息
adb logcat 10 *:E #显示 Error 以上级别的日志
adb logcat WifiHW:D *:S #输出10条日志, 日志是 标签为 WifiHW, 并且优先级 Debug(调试) 等级以上的级别的日志;
adb shell ps | grep $packagename#根据包名查询指定应用的pid 
adb logcat -help #查看logcat帮助 
按tag输出log 
adb logcat -s tag 
adb logcat tag *:S 
adb logcat | grep tag(tag必须完全相同) 
adb logcat | grep -i tag(tag忽略大小写)
按tag和level输出log 
adb logcat -s tag:I 
adb logcat tag:I *:S
按时间格式打印符合tag和level的log 
adb logcat -v time -s tag:e
按时间格式打印符合tag和level的log,并输出到指定文件 
adb logcat -v time -s tag:e > /desktop/a.txt
匹配所有出现过MainActivity的log并按时间格式输出 
adb logcat -v time | grep –color=auto MainActivity
匹配指定进程pid的log,符合指定level级别,并按时间格式输出 
adb logcat -v time *:d | grep –color=auto -i 12321
匹配指定pid的应用的tag1:I 和tag2:E 的日志 
adb logcat -v time tag1:I tag2:E *:S | grep $pid

在这里插入图片描述