Android開發中調試日誌的輸出方法

程序中輸出日誌, 使用 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 文件名

相關文章
相關標籤/搜索