【logcat命令介绍】:
logcat是Android中一个命令行工具,可以用于得到程序的log信息。
语法:
[adb] logcat [<option>]…[<filter-spec>]….
pc端执行:
adb logcat
【logcat缓冲区】:
-b <buffer>
Android的Log输出量巨大,因此Android把Log输出到不同的缓冲区。4个
Radio
System
Event
Main
不指定缓冲区默认System和main缓冲区
adb logcat -b radio
abd logcat -b system
adb logcat -b events
asb logcat -b main
举例:
adb devices
adb -s 设备 -b system/events/radio/main
所有缓冲区输出:
adb -s 设备 -b system -b events -b radio -b main
【logcat 命令参数】:
-b
-c:清除缓冲区中的全部日志并退出
-d:将缓冲区log转存到屏幕中然后退出
-f<filename>:将log输出到指定文件中
举例:
logcat -f /data/local/tmp/log.txt
logcat -f /data/local/tmp/log.txt -n 10 -r 1
-g:打印日志缓冲区的大小并退出
-n<count>:设置日志的最大数目默认是4 需要和-r一起使用
-r<kbytes>:需要和-f一起用,默认为16
-s:设置过滤器
-v<format>:设置输出格式
自动化测试:可以先-c 用例跑完了再用-d 输出到某个文件 这样整个过程再大的数据流也不会影响手机性能
【logcat 格式化输出】:
日志消息包含一个元数据字段,除了标签和优先级。可以修改输出显示一个特定的元数据字段格式的消息。
为此,使用-v选项来指定一个支持的输出格式,以下为支持的格式:
brief:显示优先级/标记和过程的PID发出的消息(默认格式)
process:只显示PID(进程)
tag:只显示优先级/标记
raw:显示原始的日志消息,没有其他元数据字段
time:调用显示日期、时间、优先级/标签和过程的PID发出消息
threadtime:调用显示日期、时间、优先级、标签以及PID TID线程发出的消息
long:显示所有元数据字段与空白行和单独的消息
当logcat开始,可以指定想要的输出格式使用-v选项:
[adb]logcat[-v<format>]
这里有一个例子,展示了如何生成消息的线程输出格式:
adb logcat -v thread
*请注意,只能指定一个输出格式-v
*时间、进程、线程、过滤级别、标签
【logcat 优先级语法】:
优先级使用字符标识,以下优先级从低到高:
V:Verbose(最低优先级)什么都输出
D:Debug 调试的信息
I:Info
W:Warning 警告信息
E:Error
F:Fatal 严重错误
S:Silent 静默不输出
优先级语法:减少日志的输出可以建立一个过滤器
过滤器语法:tag:priority
adb logcat ActivityManager:I MyApp:D
*:S
输出 I 以上级别;
D以上级别 ;
*:S设置成静默.
常用设置环境变量:
export ANDROID_LOG_TAGS=”
ActivityManager:I MyApp:D
*:S
“