程序中輸出日誌, 使用 android.util.Log 類.
該類提供了若干靜態方法android
Log.v(String tag, String msg);
Log.d(String tag, String msg);
Log.i(String tag, String msg);
Log.w(String tag, String msg);
Log.e(String tag, String msg);網站
分別對應 Verbose, Debug, Info, Warning,Error.ui
tag是一個標識,能夠是任意字符串,一般能夠使用類名+方法名, 主要是用來在查看日誌時提供一個篩選條件.debug
若是要後查看日誌 請使用日誌
adb logcatcomponent
關於adb的更多信息請查看官方網站.orm
當執行 adb logcat 後會以tail方式實時顯示出全部的日誌信息.事件
這時候咱們一般須要對信息進行過濾,來顯示咱們須要的信息, 這時候咱們指定的 tag就派上了用場.ci
adb logcat -s MyAndroid:I字符串
這時將只顯示tag爲MyAndroid,級別爲I或級別高於I(Warning,Error)的日誌信息.
logcat使用方法以下所示:
logcat [options] [filterspecs]
logcat的選項包括:
-s 設置過濾器,例如指定 '*:s'
-f <filename> 輸出到文件,默認狀況是標準輸出。
-r [<kbytes>] Rotate log every kbytes. (16 if unspecified). Requires -f
-n <count> Sets max number of rotated logs to <count>, default 4
-v <format> 設置log的打印格式, <format> 是下面的一種:
brief process tag thread raw time threadtime long
-c 清除全部log並退出
-d 獲得全部log並退出 (不阻塞)
-g 獲得環形緩衝區的大小並退出
-b <buffer> 請求不一樣的環形緩衝區 ('main' (默認), 'radio', 'events')
-B 輸出log到二進制中。
過濾器的格式是一個這樣的串:
<tag>[:priority]
其中 <tag> 表示log的component, tag (或者使用 * 表示全部) , priority 以下所示:
V Verbose
D Debug
I Info
W Warn
E Error
F Fatal
S Silent
導出日誌:adb logcat -d -f /sdcard/log.txt
經常使用命令以下:
(1) 顯示所有日誌信息:adb logcat
(2) 顯示某一TAG的日誌信息:adb logcat -s TAG名稱
(3) 顯示某一TAG的某一級別的日誌信息:adb logcat TAG名稱:級別.....TAG名稱:級別 *:S
注:日誌級別(V-verbose,D-debug,I-info,W-warning,E-error,F-fatal,S-silent),*:S(確保日誌輸出的時候是按照過濾器的說明限制)
(4) 顯示某一級別以上的所有日誌信息:adb logcat *:級別
(5) 以某種格式顯示日誌信息:adb logcat -v 格式
注:日誌格式(brief,process,tag,thread,raw,time,long)
(6) 顯示緩衝區中的日誌信息:adb logcat -b 緩衝區類型
注:緩衝區類型(radio-無線緩衝區,events-事件緩衝區,main-主緩衝區,默認)
(7) 清理已經存在的日誌:adb logcat -c
(8) 將日誌顯示在控制檯後退出:adb logcat -d
(9) 將日誌輸出到文件:adb logcat -f 文件名