天天看點

adb logcat日志抓取

adb指令 logcat日志抓取

一.logcat抓log方法:adb logcat指令,可以加條件過濾

1.安裝SDK(參考android sdk環境安裝)

2.使用資料線連結手機,在手機助手的sdcard中建立一個1.log的檔案或在抓日志時直接導出到電腦位置

3.程式運作cmd,進入到含有adb.exe目錄

4.輸入adb devices 檢視裝置是否連上

5.輸入抓取指令:

存放到手機

adb logcat -s *:E > /mmt/sdcard/1.log      

存放到PC

adb logcat -s '*:E' > d:/1.log      

6.使用手機打開app操作崩潰一次(如果想中途停止按下ctrl+c)

7.檢視日志抓取檔案,分不清楚是那個時間段所造成的後果

8.加入指令:-v time 就會顯示出時間

9.輸入指令

adb logcat -v time -s *:E > /mmt/sdcard/1.log(eg:adb logcat -v time -s appname:E>d:/1.log)      

過濾日志級别

優先級是下面的字元,順序是從低到高:

V — 明細 verbose(最低優先級)

D — 調試 debug

I — 資訊 info

W — 警告 warn

E — 錯誤 error

F — 嚴重錯誤 fatal

S — 無記載 silent

用法:

使用指令, 顯示10條 Error 以上級别的日志:

adb logcat 10 *:E

使用指令, 顯示全部Error

adb logcat *:E

輸出指定App日志

adb logcat <your package name>:<log level> *:S

adb logcat -v time -s app包名:E>d:/1.log      

 log過濾器使用( adb logcat tag:priprity)

過濾器表達式的格式是tag:priority ... ,其中tag是标記(可以是具體的,*表示所有), priority是最小的優先級,可以是組合

adblogcat ActivityManager:I MyApp:D *:S

adblogcat * :W -----所有優先級大于等于“warning”的日志

adblogcat * :E -----所有優先級大于等于“error”的日志

四、log輸出-log控制日志格式 adb logcat -v 格式

brief — 顯示優先級/标記和原始程序的PID (預設格式)

process — 僅顯示程序PIDtag — 僅顯示優先級/标記

thread — 僅顯示程序:線程和優先級/标記

raw — 顯示原始的日志資訊,沒有其他的中繼資料字段

time — 顯示日期,調用時間,優先級/标記,PID

long —顯示所有的中繼資料字段并且用空行分隔消息内容

eg:adb logcat -v thread

五.log輸出-附加緩沖區:adb logcat -b

radio — 檢視包含在無線/電話相關的緩沖區消息

events — 檢視事件相關的消息

main — 檢視主緩沖區 (預設緩沖區)

adb logcat -b  radio

什麼也不加代表預設緩沖

六.log輸出-log選項清單

-b  指定要檢視的日志緩沖區,可以是system,events ,radio,main . 預設值是system和main 。

-c 清楚螢幕上的日志.

-d 輸出日志到螢幕上.

-f  指定輸出日志資訊的,預設是stdout .

-g 輸出指定的日志緩沖區,輸出後退出.

-n  設定日志的最大數目.,預設值是4,需要和 -r 選項一起使用。

-r  每時輸出日志,預設值為16,需要和-f 選項一起使用.

-s 設定預設的過濾級别為silent.

-v  設定日志輸入格式