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编码了!
再次执行获取日志命令就正常了!