logcat介绍
logcat是android中的一个命令行工具,可以用于得到程序的log信息
![](https://img.haomeiwen.com/i13229629/cb5b2b38ac91ecc4.png)
logcat 命令格式
logcat [options] [filterspecs]
![](https://img.haomeiwen.com/i13229629/f9c0325dee84fa1a.png)
logcat缓冲区
android log输出量巨大,特别是通信系统的log,因此,android把log输出到不同的缓冲区中,目前定义了四个log缓冲区:
options | filterspecs | eg |
---|---|---|
radio | 输出通信系统的log | adb logcat –b radio |
system | 输出系统组件的log | adb logcat –b system |
events | 输出event模块的log | adb logcat –b events |
main | 所有java层的log,遗迹不属于上面3层的log | adb logcat –b main |
获取缓冲区命令
options | filterspecs |
---|---|
-b | 加载一个可使用的日志缓冲区提供查看,默认值是main |
缓冲区主要给系统组件使用,一般的应用不需要关心,应用的log都输出到main缓冲区中
默认log输出(不指定缓冲区的情况下)是输出System和Main缓冲区的log
logcat格式化输出: 输出格式
日志消息包含一个元数据字段,除了标签和优先级,您可以修改输出显示一个特定的元数据字段格式的消息。为此,您使用-v选项来指定一个支持的输出格式
eg: adb shell logcat -v threadtime
支持的参数:
options | filterspecs |
---|---|
brief | 显示优先级/标记和过程的PID发出的消息(默认格式) |
process | 只显示PID |
tag | 只显示优先级/标记 |
raw | 显示原始的日志消息,没有其他元数据字段 |
time | 调用显示日期、时间、优先级/标签和过程的PID发出消息 |
threadtime | 调用显示日期、时间、优先级、标签遗迹PID TID线程发出的消息 |
long | 显示所有元数据字段与空白行和单独的消息 |
logcat格式化输出: 优先级
以下优先级从低到高
options | filterspecs | eg |
---|---|---|
V | –Verbose(最低优先级) | adb logcat *:v |
D | – Debug | adb logcat *:d |
I | – Info | adb logcat *:i |
W | – Warning | adb logcat *:w |
E | – Error | adb logcat *:e |
F | – Fatal | adb logcat *:f |
S | – Silent | adb logcat *:s |
logcat格式化输出: 可用参数
options | filterspecs |
---|---|
-s | 设置输出日志的标签, 只显示该标签的日志 |
-f | 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功 |
-r | 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功 |
-n | 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样 |
-v | 设置日志的输出格式, 注意只能设置一项 |
-c | 清空所有的日志缓存信息 |
-d | 将缓存的日志输出到屏幕上, 并且不会阻塞 |
-t | 输出最近的几行日志, 输出完退出, 不阻塞 |
-g | 查看日志缓冲区信息 |
-b | 加载一个日志缓冲区, 默认是 main, 下面详解 |
-B | 以二进制形式输出日志 |
网友评论