ADB 调试技巧记录:Logcat(日志记录)


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   # 访问无线电日志。

版权所有丨如未注明,均为原创,转载请注明转自:https://whonee.net/adb-skills-logcat.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注