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結束

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM