本文我主要讲解以下日志过滤.查看. logcat中其它的命令各位可以自行去看.

如命令:  adb logcat -b radio -s  *:E  各项解释如下

-b设置缓冲区可选参数

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐