一、获取日志文件
一般情况下,我们在做app测试时,其实并不需要经常使用adb去抓取我们的日志,通常情况下都是有预期结果和实际结果做对比的。真正需要adb抓取日志的时候,是在测试的过程中出现了异常的情况,比如测试过程中系统突然卡主不能动了,系统直接奔溃掉了,应用程序无响应,出现闪退或者异常的情况下就可以使用adb抓取日志了,抓取日志之后就可以提bug得到开发了,当然自己能看懂更好。
adb logcat 显示全部数据
adb logcat -v time > F:\rizhi\a.log 将日志以.log的文件格式保存到电脑上
adb logcat -g 查看日志缓冲区
adb logcat -c 清空日志缓冲区
adb logcat -m 8 指定输出日志数量,输出8条日志后退出,只输出缓冲区中最开始的8条记录。
adb logcat -t 8 输出最近的8条日志之后退出。
adb logcat | grep Activity 使用管道过滤日志,输出包含Activity字符串的行。
adb logcat *:D 只输出debug等级(包含)以上的日志。
adb logcat -h 可以打印用户帮助信息。
二、日志级别
日志的等级由小到大为:
V 明细verbose,最低优先级
D 调试debug
I 信息info
W 警告warn
E 错误error
F 严重错误fatal
S 无记载silent最高优先级,不被记载
三、日志缓冲区
在开发者选项中,有个选项叫做“日志记录器缓冲区大小”,用来存放日志信息记录,默认是256K,日志是循环写入到缓冲区的,环形循环,给新的日志留存空间。
四、缓冲区的类型
Android日志系统为日志消息保留了多个循环缓冲区,不是所有的消息都被发送到默认缓冲区,要想查看这些附加的缓冲区,可以使用-b参数,指定缓冲区,例如:adb logcat -b Radio,查看通信系统的缓冲区。
缓冲区类型:
Radio 查看包含在通信系统的log,如蓝牙,wife,打印。
Events 查看事件相关的消息,比如启动应用,停止文件事件。
Main 查看主缓冲区,所有java层的log,默认缓冲区。
System 输出系统组件的log,默认缓冲区。