logcat使用使用简介
使用方法
你也可以在你的电脑或运行在模拟器/设备上的远程adb shell端来使用logcat命令,也可以在你的电脑上查看日志输出。
- $ adb logcat
你也这样使用:
- $ adb shell
- # logcat
语法
你可以用logcat命令来查看系统日志缓冲区的内容:
- [adb] logcat [<option>] ... [<filter-spec>] ...
选项
logcat的选项包括
- -s : 设置过滤器,例如指定 '*:s'
- -f <filename> : 输出到文件,默认情况是标准输出。
- -r [<kbytes>] : Rotate log every kbytes. (16 if unspecified). Requires -f
- -n <count> : Sets max number of rotated logs to <count>, default 4
- -v <format> : 设置log的打印格式, <format> 是下面的一种:
-
- brief
- process
- tag
- thread
- raw
- time
- threadtime
- long
-
- -c 清除所有log并退出
- -d 得到所有log并退出 (不阻塞)
- -g 得到环形缓冲区的大小并退出
- -b <buffer> 请求不同的环形缓冲区 ('main' (默认), 'radio', 'events')
- -B 输出log到二进制中。
过滤器
过滤器的格式是一个这样的串:
- <tag>[:priority]
- 其中 <tag> 表示log的component,日志的标签是系统部件原始信息的一个简要的标志。(比如:“View”就是查看系统的标签,或者使用 * 表示所有)。
- priority 如下所示,按照从低到高顺利排列:
-
- V — Verbose (lowest priority)
- D — Debug
- I — Info
- W — Warning
- E — Error
- F — Fatal
- S — Silent (highest priority, on which nothing is ever printed)
- 下面是一个logcat输出的例子,它的优先级为I,标签是ActivityManage:
- I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}
使用过滤器的例子
- $ logcat *:I
- 输出优先级别不小于I的打印信息
- $ logcat ActivityManager:I
- 输出优先级别不小于I,标签为ActivityManager,
- 和标签为其它的 打印信息
- $ logcat ActivityManager:I *:S
- 仅输出优先级别不小于I,并且标签为ActivityManager的打印信息
- 这里 *:S 的意思是把其它所有的标签设置为S及以上级别,这样就不显示其它标签的Log信息啦
- $ logcat ActivityManager:I System.out:I *:S
- 输出优先级别不小于I,标签为ActivityManager或System.out的打印信息
- $ logcat ActivityManager:I dalvikvm:D *:S
- 输出优先级别不小于I、标签为ActivityManager
- 和优先级不小于D、标签为dalvikvm的打印信息
参考文献
http://blog.csdn.net/untosil/archive/2009/11/30/4905795.aspx
http://wuhua.javaeye.com/blog/266995