logcat 使用方法
格式:
logcat <功能选项> | <日志过滤描述>
1) logcat 的功能选项包括:
-b 加载一个可使用的环形日志缓冲区,如:radio,events,main 是默认的。
-c 清除所有 log 并退出
-d 得到所有log并退出且不阻塞
-g 得到环形缓冲区的大小并退出
-f 输出日志信息到指定的文件中,默认是标准输出 stdout。
-r [] 设置环形日志缓冲区的kbytes,默认值为16,需要和 -f 选项一起使用
-n 设置环形日志缓冲区的最大数目,默认值是4,需要和 -r 选项一起使用
-s 设置默认的过滤级别为 Silent,例如指定 '*:S'
-B 输出 log 到二进制中。
-v 设置 log 的打印格式, 格式有如下主要7种:(不能组合使用)
1. brief - 显示 日志类型/日志标签 和 进程ID (默认格式);
例如:$ adb logcat -v brief
D/dalvikvm( 96): GC freed 13293 objects / 590664 bytes in 259ms
2. process - 仅显示 进程ID ;
例如:$ adb logcat -v process
D( 96) GC freed 13293 objects / 590664 bytes in 259ms (dalvikvm)
3. tag - 仅显示 日志类型 或 日志标签;
例如:$ adb logcat -v tag
D/dalvikvm: GC freed 13293 objects / 590664 bytes in 259ms
4. thread - 仅显示 指定 日志类型 、进程ID:线程ID、日志标签;
例如:$ adb logcat -v thread
D( 52:0x3e) GC freed 19465 objects / 919736 bytes in 387ms
D( 52:0x3e) threadid=15: bogus mon 1+0>0; adjusting
5. raw - 显示原始日志信息,没有其它元数据字段;
例如:$ adb logcat -v raw
GC freed 19465 objects / 919736 bytes in 387ms
threadid=15: bogus mon 1+0>0; adjusting
6. time - 显示日期、调用时间,日志类型/日志标签 和 进程ID;
例如:$ adb logcat -v time
11-25 13:36:00.610 D/dalvikvm( 52): GC freed 19465 objects / 919736 bytes in 387ms
11-25 13:58:40.650 D/dalvikvm( 52): threadid=15: bogus mon 1+0>0; adjusting
7. long - 显示全部元数据字段分别用空行隔开;
例如:$ adb logcat -v long
[ 11-25 13:36:00.610 52:0x3e D/dalvikvm ]
GC freed 19465 objects / 919736 bytes in 387ms
[ 11-25 13:58:40.650 52:0x3e D/dalvikvm ]
threadid=15: bogus mon 1+0>0; adjusting
2) logcat 的日志查询常用的有如下几种:
1.查看全部系统日志缓冲区的内容
$ adb logcat
2.只输出指定类型的日志
日志类型标识符(优先级由低到高排列):
1. V — Verbose 详细的 <- 最低优先权
2. D — Debug 调试
3. I — Info 消息
4. W — Warn 警告
5. E — Error 错误
6. F — Fatal 致命的
7. S — Silent 无声的 <- 最高优先权
$ adb logcat *:V
注:显示优先级为 Verbose 或更高的日志信息,输出 Debug、Info、Warn、Error 调试信息。
$ adb logcat *:D
注:显示优先级为 Debug 或更高的日志信息,输出 Debug、Info、Warn、Error 调试信息。
$ adb logcat *:I
注:显示优先级为 Info 或更高的日志信息,输出 Info、Warn、Error 调试信息。
$ adb logcat *:W
注:显示优先级为 Warn 或更高的日志信息,输出 Warn 和 Error 调试信息。
$ adb logcat *:E
注:只输出 Error 调试信息 。
3. 只输出指定 类型 和 标签 的日志
adb logcat <日志标签>:<日志类型标识符> <日志标签>:<日志类型标识符> ... *:S
注:1. 可以写多个 <日志标签>:<日志类型标识符> 之间用空格分隔;
2. 最后必须是 *:S
例如:
$ logcat dalvikvm:D Checkin:W *:S
4. 只输出指定 标签 的日志
adb logcat <日志标签>:* <日志标签>:* ... *:S
注:1. 可以写多个 <日志标签>:<日志类型标识符> 之间用空格分隔;
2. 最后必须是 *:S