adb logcat日志抓取

Posted 入门到放弃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了adb logcat日志抓取相关的知识,希望对你有一定的参考价值。

一.logcat抓log方法:adb logcat命令,可以加条件过滤

1.安装SDK(参考android sdk环境安装)

2.使用数据线链接手机,在手机助手的sdcard中建立一个1.log的文件或在抓日志时直接导出到电脑位置

3.程序运行cmd,进入到含有adb.exe目录

4.输入adb devices 查看设备是否连上

5.输入抓取命令:

存放到手机

adb logcat -s *:E > /mmt/sdcard/1.log 

存放到PC

adb logcat -s \'*:E\' > d:/1.log


6.使用手机打开app操作崩溃一次(如果想中途停止按下ctrl+c)

7.查看日志抓取文件,分不清楚是那个时间段所造成的后果

8.加入命令:-v time 就会显示出时间

9.输入命令

adb logcat -v time -s *:E > /mmt/sdcard/1.log(eg:adb logcat -v time -s appname:E>d:/1.log)

 

 

过滤日志级别

优先级是下面的字符,顺序是从低到高:
V — 明细 verbose(最低优先级)
D — 调试 debug
I — 信息 info
W — 警告 warn
E — 错误 error
F — 严重错误 fatal
S — 无记载 silent

用法:

使用命令, 显示10条 Error 以上级别的日志:

adb logcat 10 *:E
使用命令, 显示全部Error

adb logcat *:E

 

输出指定App日志

adb logcat <your package name>:<log level> *:S

adb logcat -v time -s app包名:E>d:/1.log

 

 log过滤器使用( adb logcat tag:priprity)


过滤器表达式的格式是tag:priority ... ,其中tag是标记(可以是具体的,*表示所有), priority是最小的优先级,可以是组合

adblogcat ActivityManager:I MyApp:D *:S

adblogcat * :W -----所有优先级大于等于“warning”的日志

adblogcat * :E -----所有优先级大于等于“error”的日志

四、log输出-log控制日志格式 adb logcat -v 格式

brief — 显示优先级/标记和原始进程的PID (默认格式)

process — 仅显示进程PIDtag — 仅显示优先级/标记

thread — 仅显示进程:线程和优先级/标记

raw — 显示原始的日志信息,没有其他的元数据字段

time — 显示日期,调用时间,优先级/标记,PID

long —显示所有的元数据字段并且用空行分隔消息内容

eg:adb logcat -v thread

五.log输出-附加缓冲区:adb logcat -b

radio — 查看包含在无线/电话相关的缓冲区消息

events — 查看事件相关的消息

main — 查看主缓冲区 (默认缓冲区)

adb logcat -b  radio

什么也不加代表默认缓冲

六.log输出-log选项列表

-b  指定要查看的日志缓冲区,可以是system,events ,radio,main . 默认值是system和main 。

-c 清楚屏幕上的日志.

-d 输出日志到屏幕上.

-f  指定输出日志信息的,默认是stdout .

-g 输出指定的日志缓冲区,输出后退出.

-n  设置日志的最大数目.,默认值是4,需要和 -r 选项一起使用。

-r  每时输出日志,默认值为16,需要和-f 选项一起使用.

-s 设置默认的过滤级别为silent.

-v  设置日志输入格式

 
 

以上是关于adb logcat日志抓取的主要内容,如果未能解决你的问题,请参考以下文章

adb logcat日志抓取

如何抓取android logcat日志

手机啥代码可以抓取日志

adb logcat 如何过滤我的app日志?

adb提取安卓app运行日志

请教用adb logcat 命令将log输出到文件的问题