本文我主要讲解以下日志过滤.查看. logcat中其它的命令各位可以自行去看.
如命令: adb logcat -b radio -s *:E 各项解释如下
radio | 过滤通信系统部分的log |
main | 所有java层的log 注意: 它不包其它缓冲区的java 层 |
system | 系统组件的log |
events | event模块的log |
crash | 看名字就知道啥意思 |
kernel | 内核日志 可以看到 rc文件中服务启动情况 |
default | 主要输出 main,system,crash 三个缓冲区中的日志 |
all | 以上所有缓冲区的日志全部输出 |
-s 表示设置日志过滤
* 表示的日志的TAG. 就是各个文件中定义的 LOG_TAG
E 表示日志的等级 可以选择 V, D , I , W , E , F ,S 优先级从低到高 . 假如你选择了 W级别 那么 V , D , I 级别日志是不会被输出的. 只会输出高于等于当前所选级别的日志. 可以用* 表示所有.
比如 我们系统输出 TelephonyManager.java 类中的系统日志 那么 这样 adb logcat -b radio -s TelephonyManager:* 注意虽然TelephonyManager.java属于java层 但是 它本质算在通信层级.所以是 radio.
当然,我们还可以继续在后面追加同一缓冲区的类 adb logcat -b radio -s TelephonyManager:* Phone:* 这样就可以同时输出两个TAG标识的日志.
我们也可以不加 -s 过滤. 比如直接 adb logcat -b kernel 查看当前内核的日志输出 !.
此外 如果想把日志输出到文件中 写法如下 >后面跟上全路径文件
adb logcat -b radio -s TelephonyManager:* >/home/developer/tel.log
另外查看手机启动时候的内核日志命令: adb shell dmesg