第三方日誌文件ALog使用詳解

  • 源碼下載地址

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還是正常顯示

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章