一個精簡、全面、方便的AndroidLog庫--ALog

首先獻上GitHub地址: ALogjava

ALog
ALog
api
api
build
build
License
License

Functions

  • 可設置Log開啓和關閉
  • 可設置是否輸出到控制檯(Logcat)
  • 可設置Log全局Tag
  • 全局Tag爲空時Tag爲當前類名
  • 可設置Log是否顯示頭部信息
  • Log頭部含有當前線程名
  • Log頭部含有當前類及行號和函數名,支持點擊跳轉
  • 可設置Log是否寫入文件
  • 可設置Log寫入文件目錄
  • 可設置Log寫入文件前綴
  • 可設置Log是否顯示邊框
  • 可設置Log控制檯過濾器
  • 可設置Log文件過濾器
  • 可設置Log棧深度
  • 支持控制檯長字符串的輸出
  • 支持多參數輸出
  • 支持單獨寫入文件
  • 支持JSON串的輸出
  • 支持XML串的輸出
  • 支持Live Templates
  • jar包不足5Kb

API→ALog.javaDemo

init                    : 初始化
getConfig               : 獲取log配置
Config.setLogSwitch     : 設置log總開關
Config.setConsoleSwitch : 設置log控制檯開關
Config.setGlobalTag     : 設置log全局tag
Config.setLogHeadSwitch : 設置log頭部信息開關
Config.setLog2FileSwitch: 設置log文件開關
Config.setDir           : 設置log文件存儲目錄
Config.setFilePrefix    : 設置log文件前綴
Config.setBorderSwitch  : 設置log邊框開關
Config.setConsoleFilter : 設置log控制檯過濾器
Config.setFileFilter    : 設置log文件過濾器
Config.setStackDeep     : 設置log棧深度
v                       : Verbose日誌
d                       : Debug日誌
i                       : Info日誌
w                       : Warn日誌
e                       : Error日誌
a                       : Assert日誌
file                    : log到文件
json                    : log字符串之json
xml                     : log字符串之xml複製代碼

How to use

compile 'com.blankj:alog:1.3.0' or android

Download
Download

Usage

初始化

在Application的onCreate函數中初始化,以下git

// init it in ur application
public void initALog() {
    ALog.Config config = ALog.init(this)
            .setLogSwitch(BuildConfig.DEBUG)// 設置log總開關,包括輸出到控制檯和文件,默認開
            .setConsoleSwitch(BuildConfig.DEBUG)// 設置是否輸出到控制檯開關,默認開
            .setGlobalTag(null)// 設置log全局標籤,默認爲空
            // 當全局標籤不爲空時,咱們輸出的log所有爲該tag,
            // 爲空時,若是傳入的tag爲空那就顯示類名,不然顯示tag
            .setLogHeadSwitch(true)// 設置log頭信息開關,默認爲開
            .setLog2FileSwitch(false)// 打印log時是否存到文件的開關,默認關
            .setDir("")// 當自定義路徑爲空時,寫入應用的/cache/log/目錄中
            .setFilePrefix("")// 當文件前綴爲空時,默認爲"alog",即寫入文件爲"alog-MM-dd.txt"
            .setBorderSwitch(true)// 輸出日誌是否帶邊框開關,默認開
            .setConsoleFilter(ALog.V)// log的控制檯過濾器,和logcat過濾器同理,默認Verbose
            .setFileFilter(ALog.V)// log文件過濾器,和logcat過濾器同理,默認Verbose
            .setStackDeep(1);// log棧深度,默認爲1
    ALog.d(config.toString());
}複製代碼

藉助我幫你們寫好的Live Templates你們能夠更方便地使用ALog,演示動畫以下所示。github

templates
templates

你們能夠下載這個Live Templates包,而後在AS中File→Import Settings便可。json

Tips: 若是有用到AndroidUtilCodeLogUtils,那麼你導入這個Live Templates,輸入ulog也會有智能模板哦。api

關於如何寫Live Templates,其實你們能夠借鑑安卓自帶的Live Templates,而後效仿一下便可。bash

默認初始化下的圖例

  • ALog.d("debug");

detail
detail

  • ALog.d("customTag", "debug0", "debug1");

args
args

  • ALog.d(longStr);

long
long

  • ALog.file(longStr);

file
file

filecontent
filecontent

  • ALog.json(json);

json
json

  • ALog.xml(xml);

xml
xml

更多使用請運行demo來查看。app

Contact

jianshu
jianshu
weibo
weibo
Blog
Blog
QQ0Group
QQ0Group
QQ1Group
QQ1Group
相關文章
相關標籤/搜索