adb logcat 通过包名过滤日志并输出到txt文件
Posted 慢行蜗牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了adb logcat 通过包名过滤日志并输出到txt文件相关的知识,希望对你有一定的参考价值。
最近学使用ADB命令抓包APP闪退的日志;
1)在cmd命令行中可以使用adb logcat 命令查看android系统的log,也可以使用adb shell进入到adb shell专用命令行
2)dos窗口可以直接输入log,或定向输出到txt文件;
3)按ctrl+c中断输入log记录;
android输出的每一条日志都有一个标记和优先级与其关联。
优先级是下面的字符,顺序是从低到高:
V — 明细 verbose(最低优先级)
D — 调试 debug
I — 信息 info
W — 警告 warn
E — 错误 error
F — 严重错误 fatal
S — 无记载 silent
具体每个命令的使用方法,可以查看:https://www.cnblogs.com/mgzc-1508873480/p/7116207.html
本次的重点:
1.如果要过滤特定级别日志,使用如下命令:
adb logcat *:W //显示所有优先级大于等于“warning”的日志
2.添加包名过滤日志:
在adb的目录下添加两个文件getpid.bat和getpid1.bat:
1.getpid.bat
@echo off
adb shell "ps | grep xxx"
其中“xxx”是包名
2.getpid1.bat
方法1:直接在cmd里面打印日志;日志无过滤
@echo off
for /f "tokens=2 delims= " %%i in (\'getpid.bat\') do set pid=%%i
echo %pid%
adb logcat | find "%pid%"
pause
方法2:直接在cmd里面打印日志;日志过滤;如过滤E及E级别以上日志;
@echo off
for /f "tokens=2 delims= " %%i in (\'getpid.bat\') do set pid=%%i
echo %pid%
adb logcat *:E | find "%pid%"
pause
也可以方法2上修改加入定向输出到txt文件:adb logcat *:E | find "%pid%" > MYAPP1.txt
运行方式:
1.连接好手机;在cmd中输入adb devices,检测设备是否正常连接;
PS:连接不正常,可以参考如下博文:https://www.cnblogs.com/sxming/p/7928361.html
2.双击getpid1.bat运行; 然后打开要抓取日志的APP
3.最后ctrl+c结束
以上是关于adb logcat 通过包名过滤日志并输出到txt文件的主要内容,如果未能解决你的问题,请参考以下文章
windows cmd执行 adb logcat,怎么过滤输出结果