Android物语:logcat

logcat介绍

logcat是android中的一个命令行工具,可以用于得到程序的log信息


image.png

logcat 命令格式

logcat [options] [filterspecs]


image.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
crash crash log adb logcat –b crash

获取缓冲区命令

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 以二进制形式输出日志

你可能感兴趣的:(Android物语:logcat)