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編碼了!

再次執行獲取日志命令就正常了!

 


免責聲明!

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



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