adb logcat
一.在cmd窗口查看手機的Log日志
有時候我們在手機程序上的日志要在其他地方調試,然后要看里面的Log日志。在cmd窗口中輸入如下命令:
//格式1:打印默認日志數據 adb logcat
//格式2:需要打印日志詳細時間的簡單數據 adb logcat -v time
//格式3:需要打印級別為Error的信息 adb logcat *:E
//格式4:需要打印時間和級別是Error的信息 adb logcat -v time *:E
//格式5:將日志保存到電腦固定的位置,比如D:\log.txt adb logcat -v time >D:\log.txt |
這時手機日志更新什么日志,cmd窗口也會同步更新數據。
但是這樣沒有過濾條件,如果Log日志很多,很難找到我們想要的信息,
當然也可以復制cmd中的數據到一個文本中慢慢處理的,就是效率不高。
下面介紹adb logcat中的詳細參數命令以及如何才能高效的打印日志,或者把日志保存到我們指定的位置。
二.adb logcat 詳解
adb logcat如果用過,但是具體命令又不記得,可以輸入adb logcat -help,查看一下一些簡單的數據格式:
日志過濾:adb logcat <tag>[:priority]
tag表示標簽,priority輸出的級別,日志默認級別是V,如果錯誤日志我們選擇E就可以。
Android 的日志分為如下幾個優先級(priority):
V —— Verbose(最低,輸出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent(最高,啥也不輸出)
按某級別過濾日志則會將該級別及以上的日志輸出。比如,命令:adb logcat *:W
其實*可以是某個tag,如果沒有指明,就表示所有。
tag可以由多個 [:priority] 組成。比如,命令:
adb logcat ActivityManager:I MyApp:D *:S
表示輸出 tag ActivityManager 的 Info 以上級別日志,輸出 tag MyApp 的 Debug 以上級別日志,及其它 tag 的 Silent 級別日志(即屏蔽其它 tag 日志)。
adb logcat選項解析
--"-s"選項 : 設置輸出日志*:s的標簽, 只顯示該標簽的日志;
--"-f"選項 : 將日志輸出到文件, 默認輸出到標准輸出流中, -f 參數執行不成功;
--"-r"選項 : 按照每千字節輸出日志, 需要 -f 參數, 不過這個命令沒有執行成功;
--"-n"選項 : 設置日志輸出的最大數目, 需要 -r 參數, 這個執行 感覺 跟 adb logcat 效果一樣;
--"-v"選項 : 設置日志的輸出格式, 注意只能設置一項;
--"-c"選項 : 清空所有的日志緩存信息;
--"-d"選項 : 將緩存的日志輸出到屏幕上, 並且不會阻塞;
--"-t"選項 : 輸出最近的幾行日志, 輸出完退出, 不阻塞;
--"-g"選項 : 查看日志緩沖區信息;
--"-B"選項 : 以二進制形式輸出日志;
把日志信息保存到電腦中
adb logcat最后添加” > 保存文件的地址,比如需要將的信息保存到電腦中使用下面的命令: adb logcat -v time > D:\log.txt