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 設定日志輸入格式