Android的日志记录信息通过logcat来访问,通常采用adb的方式访问,命令如下:
adb logcat [-option] [filter]
or
adb shell 进入 shell 界面然后输入:logcat [-option] [filter]
信息的输出方式:
默认带-e 参数或者不带任何参数输入 logcat 打印的就是默认信息,其输出大致如下:
I/Applog(20054) : An Informational Log message .
说明:
1、 日志默认采用brief模式记录。
2、 I 表示消息类型为infomation。
3、 Applog为过滤标志,20054表示线程ID。
4、冒号后面为message正文。
常用的还有另外一种带日期和时间的方式,需要使用-v 进行方式切换,一般按照如下方式输入指令:logcat -v time ,输出如下:
08-04 22:52:33 .565 I/Applog(20054) : An Informational Log message .
注:比上述信息多了时间和日期项。
过滤日志信息
logcat 的过滤器分为2个部分,一个是tag name,另外一个是log level,按照如下格式带在logcat 后面就可以了。
< tag name > : < Lowest log level to print >
一般格式: logcat Applog:I 就可以筛选出上述的log。
要点说明:
1、 打印log可使用*通配符,用来标示所有的内容都符合,在冒号前,标示所有的tag都打印,在冒号后标示,所有的等级都打印,在缺省状态下是不做删选的,即默认为*。
2、 log 等级顺序从高到低依次是:无打扰( Silent, S ),致命错误( Fatal, F ),错误( Error, E ),警告( Warning, W ),信息( Info, I ),调试( Debug, D ),冗余( Verbose, V )。
3、 可以采用2个过滤器同时工作,其关系为与逻辑,即同时满足2个条件的信息才会被输出。
如: logcat -v time Applog:V *:S 可以生成仅包含 Applog tag的信息。
清除日志
使用 -c 就可以清除当前的信息,防止干扰目前的打印,格式如下:
logcat -c
保存日志
日志可以被保存到Android设备中或者本地,分别按照如下方式进行:
保存在本地:adb logcat -v time Applog:V *:S >> applog.txt
保存到Android设备: logcat -v time -f /sdcard/applog.txt Applog:V *:S
访问次级日志
Android还拥有几个不同的日志,默认为主日志,要查看其它日志,可用 -b 来查看,如下为2个常用的例子:
logcat -b event # 访问事件日志。
logcat -b radio # 访问无线电日志。