一.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或logcat -s '*:E' >d:/1.log,
6.使用手機打開app操作崩潰一次(如果想中途停止按下ctrl+c)
7.查看日誌抓取文件,分不清楚是那個時間段所造成的後果
8.加入命令:-v time 就會顯示出時間
9.輸入命令logcat -v time -s *:E > /mmt/sdcard/1.log(eg:adb logcat -v time -s appname:E>d:/1.log)
10.查看結果
ps:
adb
logcat -v time -s appname:E>d:/1.log
-v 顯示日誌格式 -v time 以時間爲顯示格式
-s 默認過濾,不顯示默認tag。系統把tag的默認過濾級別是設置爲Verbos,tag需要顯示。如果設置-S等同於*:V
appname:E
顯示appname操作中優先級大於等於“error”的日誌
二、log過濾--根據Log信息級別
• V-(verbose) -明細 (最低優先級) • D-(debug)-調試• I-(information)-信息• W-(warning)-警告• E-(error)-錯誤
log過濾-
log過濾器使用(adb logcat tag:priprity)
過濾器表達式的格式是tag:priority ... ,其中tag是標記(可以是具體的,*表示所有), priority是最小的優先級,可以是組合
adblogcat ActivityManager:I MyApp:D *:S
adblogcat * :W -----所有優先級大於等於“warning”的日誌
adblogcat * :E -----所有優先級大於等於“error”的日誌
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 <buffer> 指定要查看的日誌緩衝區,可以是system,events ,radio,main . 默認值是system和main 。
-c 清楚屏幕上的日誌.
-d 輸出日誌到屏幕上.
-f <filename> 指定輸出日誌信息的<filename>,默認是stdout .
-g 輸出指定的日誌緩衝區,輸出後退出.
-n <count> 設置日誌的最大數目<count>.,默認值是4,需要和 -r 選項一起使用。
-r <kbytes> 每<kbytes>時輸出日誌,默認值爲16,需要和-f 選項一起使用.
-s 設置默認的過濾級別爲silent.
-v <format> 設置日誌輸入格式