android logcat抓取app日志

一.logcat抓log方法:adb logcat命令,能够加条件过滤android

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

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

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

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

5.输入抓取命令:adb logcat -s *:E > /mmt/sdcard/1.log或logcat -s '*:E' >d:/1.log,调试

6.使用手机打开app操做崩溃一次(若是想中途中止按下ctrl+c)日志

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

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

9.输入命令adb logcat -v time -s *:E > /mmt/sdcard/1.log(eg:adb logcat -v time -s appname:E>d:/1.log)进程

10.查看结果

ps:

adb logcat -v time -s appname:E>d:/1.log

-v 显示日志格式  -v time 以时间为显示格式

-s 默认过滤,不显示默认tag。系统把tag的默认过滤级别是设置为Verbos,tag须要显示。若是设置-S等同于*:V

appname:E 显示appname操做中优先级大于等于“error”的日志

像这种,箭头后面没有/的,是保存在user里面的adb shell logcat - time > 1119.log
time后面没有说哪只日志的,表明打印全部日志

2、log过滤--根据Log信息级别

• V-(verbose) -明细 (最低优先级) • D-(debug)-调试• I-(information)-信息• W-(warning)-警告• E-(error)-错误

• F — 严重错误• S — 无记载 (最高优先级,没有什么会被记载)

3、 

log过滤-

 log过滤器使用( 

adb logcat tag:priprity)

过滤器表达式的格式是tag:priority ... ,其中tag是标记(能够是具体的,*表示全部), priority是最小的优先级,能够是组合

adblogcat ActivityManager:I MyApp:D *:S

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

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

4、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 shell logcat -v time -s Debug:获取全部跟DEBUG有关日志,跟TAG有关的全部Debug,即代码中的TAG
adb shell logcat -v time -s Error:获取全部跟Error有关日志,跟TAG有关的全部Error
adb shell logcat -v time -s TAG:获取全部跟TAG有关日志,TAG就是咱们Log.i获取log.d这类里面的TAG。

adb shell logcat -v time *:E  打印全部错误日志,就是自己跟TAG无关,是Error的全部日志