- 源碼下載地址
https://github.com/Blankj/ALog
- 在Application中初始化配置
/**
* 初始化Log工具類
*/
private void initLog() {
LogUtils.getConfig()
.setLogSwitch(true)// 設置 log 總開關,包括輸出到控制檯和文件,默認開
.setConsoleSwitch(true)//設置是否輸出到控制檯開關,默認開,如果設置爲false控制檯logcat將看不到日誌
.setLog2FileSwitch(true)// 打印 log 時是否存到文件的開關,默認關,
即只有LogUtils.file纔會將日誌寫入TXT文件中,反之所有日誌操作都會寫入TXT文件中。
.setSingleTagSwitch(true)//一條日誌僅輸出一條,默認開,爲美化 AS 3.1.0 的 Logcat
.setmLogFileTypeAndTag(false)// 設置日誌文件打印type和tag開關,默認爲開
.setLogHeadSwitch(false)// 設置 log 頭信息開關,默認爲開(上面是僅日誌文件,此處是控制檯+日誌文件)
.setGlobalTag("")//設置log全局標籤,默認爲空,當全局標籤不爲空時,我們輸出的log全部爲該tag;
//爲空時,如果傳入的 tag 爲空那就顯示類名,否則顯示 tag
.setLogFilePrintDeviceInfo(false)// 設置日誌文件打印設備信息開關,默認爲開
.setDir(Environment.getExternalStorageDirectory())// 當自定義路徑爲空時,
寫入應用的/cache/log/目錄中
.setFilePrefix("vkl-log")// 當文件前綴爲空時,默認爲"util",
//即寫入文件爲"util-yyyy-MM-dd.txt"
.setBorderSwitch(true)// 輸出日誌是否帶邊框開關,默認開
.setConsoleFilter(LogUtils.V)// log 的控制檯過濾器,和 logcat 過濾器同理,默認 Verbose
.setFileFilter(LogUtils.V)// log 文件過濾器,和 logcat 過濾器同理,默認 Verbose
.setStackDeep(1)// log 棧深度,默認爲 1
.setStackOffset(0)// 設置棧偏移,比如二次封裝的話就需要設置,默認爲 0
// 新增 ArrayList 格式化器,默認已支持 Array, Throwable, Bundle, Intent 的格式化輸出
.addFormatter(new LogUtils.IFormatter<ArrayList>() {
@Override
public String format(ArrayList list) {
return "ALog Formatter ArrayList { " + list.toString() + " }";
}
})
.setSaveDays(3);// 設置日誌可保留天數,默認爲 -1 表示無限時長
LogUtils.e("日誌配置參數打印:\n:" + LogUtils.getConfig().toString());
}
- 各個功能區別截圖
setSingleTagSwitch()
true
一條日誌僅輸出一條,默認開,如果不設置默認日誌也是這樣打印出來的
False:
setLogHeadSwitch()
設置 log 頭信息開關,默認爲開,第一條就是默認或者設置爲true,2,3條是設置爲false
同時這個也設置控制檯輸出的log形式
true:
false:
setmLogFileTypeAndTag()
設置日誌文件打印type和tag開關,默認爲開,紅框就是
setLogFilePrintDeviceInfo()
設置日誌文件打印設備信息開關,默認爲開
setGlobalTag()
設置log 全局標籤,默認爲空,當全局標籤不爲空時,我們輸出的log全部爲該tag.爲空時,即使你自定義 tag也會被強制設置成以上tag。
如果傳入的 tag 爲空那就顯示類名,自定義的tag還是正常顯示