一.logcat抓log方法:adb logcat命令,可以加條件過濾
1.安裝SDK(參考android sdk環(huán)境安裝)
2.使用數(shù)據(jù)線鏈接手機,在手機助手的sdcard中建立一個1.log的文件或在抓日志時直接導(dǎo)出到電腦位置
3.程序運行cmd,進入到含有adb.exe目錄
4.輸入adb devices 查看設(shè)備是否連上
5.輸入抓取命令:adb logcat -s *:E > /mmt/sdcard/1.log或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)
10.查看結(jié)果
ps:
adb logcat -v time -s appname:E>d:/1.log
-v 顯示日志格式 ?-v time 以時間為顯示格式
-s 默認過濾,不顯示默認tag。系統(tǒng)把tag的默認過濾級別是設(shè)置為Verbos,tag需要顯示。如果設(shè)置-S等同于*:V
appname:E 顯示appname操作中優(yōu)先級大于等于“error”的日志
??F — 嚴重錯誤??S — 無記載 (最高優(yōu)先級,沒有什么會被記載)
三、?
?log過濾器使用(?
過濾器表達式的格式是tag:priority ... ,其中tag是標(biāo)記(可以是具體的,*表示所有), priority是最小的優(yōu)先級,可以是組合
adblogcat ActivityManager:I MyApp:D *:S
adblogcat * :W -----所有優(yōu)先級大于等于“warning”的日志
adblogcat * :E -----所有優(yōu)先級大于等于“error”的日志
四、log輸出-log控制日志格式 adb logcat -v 格式
brief — 顯示優(yōu)先級/標(biāo)記和原始進程的PID (默認格式)
process — 僅顯示進程PIDtag — 僅顯示優(yōu)先級/標(biāo)記
thread — 僅顯示進程:線程和優(yōu)先級/標(biāo)記
raw — 顯示原始的日志信息,沒有其他的元數(shù)據(jù)字段
time — 顯示日期,調(diào)用時間,優(yōu)先級/標(biāo)記,PID
long —顯示所有的元數(shù)據(jù)字段并且用空行分隔消息內(nèi)容
eg:adb logcat -v thread
五.log輸出-附加緩沖區(qū):adb logcat -b?
radio?—?查看包含在無線/電話相關(guān)的緩沖區(qū)消息
events?—?查看事件相關(guān)的消息
main?—?查看主緩沖區(qū)?(默認緩沖區(qū))
adb logcat -b ?radio
什么也不加代表默認緩沖
六.log輸出-log選項列表
-b? 指定要查看的日志緩沖區(qū),可以是system,events?,radio,main?. 默認值是system和main?。
-c?清楚屏幕上的日志.?
-d?輸出日志到屏幕上.?
-f? 指定輸出日志信息的,默認是stdout .?
-g?輸出指定的日志緩沖區(qū),輸出后退出.?
-n? 設(shè)置日志的最大數(shù)目.,默認值是4,需要和 -r 選項一起使用。?
-r? 每時輸出日志,默認值為16,需要和-f 選項一起使用.?
-s?設(shè)置默認的過濾級別為silent.?
-v? 設(shè)置日志輸入格式