一.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或logcat -s ‘*:E’ >d:/1.log,
6.使用手机打开app操作崩溃一次(如果想中途停止按下ctrl+c)
7.查看日志抓取文件,分不清楚是那个时间段所造成的后果
8.加入命令:-v time 就会显示出时间
9.输入命令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”的日志
二、log过滤–根据Log信息级别
• V-(verbose) -明细 (最低优先级) • D-(debug)-调试• I-(information)-信息• W-(warning)-警告• E-(error)-错误
• F — 严重错误• S — 无记载 (最高优先级,没有什么会被记载)
三、 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 <buffer> 指定要查看的日志缓冲区,可以是system,events ,radio,main . 默认值是system和main 。
-c 清楚屏幕上的日志.
-d 输出日志到屏幕上.
-f <filename> 指定输出日志信息的<filename>,默认是stdout .
-g 输出指定的日志缓冲区,输出后退出.
-n <count> 设置日志的最大数目<count>.,默认值是4,需要和 -r 选项一起使用。
-r <kbytes> 每<kbytes>时输出日志,默认值为16,需要和-f 选项一起使用.
-s 设置默认的过滤级别为silent.
-v <format> 设置日志输入格式