adb命令如何查看指定应用下错误级别的日志信息

查看手机中所有包命令:adb shell pm list packages 

 

1,先根据包名,找到对应的进程号:(-A 为什么加呢,亲测不加的话,我实际操作的app不能获取到进程信息,各种百度后的结果)

 

第一行是主进程, PID=1329是对应的进程号了

 

 另外:查找指定设备上某个app的进程号:

 

 

 

 

2. 根据上面的进程号,来查询改进程下的所有级别的log了

 

 

 3. 如果我只想获取到该应用中,V级别的错误日志信息的话,可以用下面的命令操作: 加上筛选级别:“ *:W ”

     adb logcat *:W | findstr 1329

 

 【延申:

过滤规则

有两种规则,一种是按照日志级别过滤,一种是按照日志中的tag过滤,当然会有混合日志和tag在一起过滤

过滤格式:

adb logcat <tag>[:priority]

tag表示标签,priority输出的级别,注意如果要是要根据级别查看时记得要tag一定要给,如果没有指定,那个tag哪里输入*号就行了

 

tag级别过滤:

用这个过滤首先要知道手机上的tag,可以用这个命令查看手机日志的tag

adb logcat -v tag

输出后格式会是:<priority>/<tag>: <message>

 

但是在日志中的tag究竟是什么意思呢?标签,顾名思义,但是还是不明白,后面明白再来看这快

现在我要知道的就是tag如何过滤日志,可以使用下面的命令:

adb logcat ActivityManager:I

发现tag过滤并没有生效,为啥??

而网上下面这个命令却是生效的:

adb logcat ActivityManager:I PowerManagerService:D *:S

日志级别过滤:

默认级别为V,输出人日志最低,日志级别最低

D —— Debug

I —— Info

W —— Warning

E —— Error

F —— Fatal  致命

S —— Silent(最高,啥也不输出)

实例:比如想要查看手机的级别为错误的日志

adb logcat *:E(不区分大小写)

针对上面中文乱码问题,解决如下:

         在当前命令行下输入 chcp 65001,按回车键。这时,当前代码页使用的就是UTF-8编码了!

再次执行获取日志命令就正常了!

 

posted @ 2020-08-13 11:55  嘿豆粒  阅读(3195)  评论(0编辑  收藏  举报