Android 日志
命令格式
[adb] logcat [<option>] ... [<filter-spec>] ...
logcat命令参数
参数 | 描述 |
---|---|
-b <buffer> | 加载一个可使用的日志缓冲区供查看,比如event和radio。默认值是main |
-c | 清除缓冲区中全部日志并退出 |
-d | 将缓冲区的log转存到屏幕中然后退出 |
-f <filename> | 将log输出到指定的文件中<文件名>.默认为标准输出(stdout) |
-g | 打印日志缓冲区的大小并退出 |
-n <count> | 设置日志的最大数目,默认值为4,需要和-r一起使用 |
-r <kbytes> | 每 时输出日志,默认值为16,需要和-f 选项一起使用. |
-s | 设置默认的过滤级别为silent |
-v <format> | 设置日志输入格式,默认的是brief 格式 |
按级别过滤日志
Android 的日志分为如下几个优先级(priority):
- V —— Verbose(最低,输出得最多)
- D —— Debug I —— Info
- W —— Warning
- E —— Error
- F—— Fatal
- S —— Silent(最高,啥也不输出)
按某级别过滤日志则会将该级别及以上的日志输出。
比如,命令
adb logcat *:W
会将Warning,Error,Fatal和Silent日志输出
按tag和级别过滤日志
<filter-spec>
可以由多个 <tag>[:priority]
组成
比如,命令:
adb logcat ActivityManager:I MyApp:D *:S
表示输出tag ActivityManager 的 Info以上级别日志,输出tag MyApp的Debug以上级别日志,及其它tag的Silent级别日志(即屏蔽其他tag日志)
日志格式
可以用 adb logcat -v <format>
选项指定日志输出格式。
日志支持按以下几种 <format>
:
-
brief
默认格式
<priority>/<tag>(<pid>): <message>
-
process
<priority>(<pid>) <message>
-
tag
<priority>/<tag>: <message>
-
raw
<message>
-
time
<datetime> <priority>/<tag>(<pid>): <message>
-
threadtime
<datetime> <pid> <tid> <priority> <tag>: <message>
-
long
[ <datetime> <pid>:<tid> <priority>/<tag> ] <message>
可以指定格式与上面的过滤同时使用,加上-v <format>
即可
清空日志
adb logcat -c
不完全汇总
(1) 显示全部日志信息:adb logcat
(2) 显示某一TAG的日志信息:adb logcat -s TAG名称
(3) 显示某一TAG的某一级别的日志信息:adb logcat TAG名称:级别…TAG名称:级别 *:S
注:日志级别(V-verbose,D-debug,I-info,W-warning,E-error,F-fatal,S-silent),*:S(确保日志输出的时候是按照过滤器的说明限制)
(4) 显示某一级别以上的全部日志信息:adb logcat *:级别
(5) 以某种格式显示日志信息:adb logcat -v 格式
注:日志格式(brief,process,tag,thread,raw,time,long)
(6) 显示缓冲区中的日志信息:adb logcat -b 缓冲区类型
注:缓冲区类型(radio-无线缓冲区,events-事件缓冲区,main-主缓冲区,默认)
(7) 清理已经存在的日志:adb logcat -c
(8) 将日志显示在控制台后退出:adb logcat -d
(9) 将日志输出到文件:adb logcat -f 文件名