Android開發(fā)日志框架xLog的使用
在Android應(yīng)用開發(fā)過程中,經(jīng)常會用到日志打印功能,如果使用Android系統(tǒng)的android.util.Log來打印日志,那么不能夠做到將日志內(nèi)容持久化存儲下來,這樣就不方便開發(fā)人員追溯問題了~
本文給大家分享下Android開發(fā)下的日志框架xLog的使用,利用它能實現(xiàn)將日志持久化到磁盤中,存儲為文件,類似于Java Web開發(fā)中使用到的logback框架;將采集到的日志文件發(fā)送給開發(fā)人員,便于排查問題~,很適合將xLog集成到測試版的應(yīng)用中來收集問題
使用到的軟件環(huán)境
Android模擬器 Pixel 5 Android8.0系統(tǒng)
android studio 2020.3.1
jdk 1.8
參考文檔:https://github.com/elvishew/xLog/blob/master/README_ZH.md
使用方式
1.修改app下的build.gradle,添加xLog日志庫的依賴

2.因為要將日志內(nèi)容寫入磁盤,需要編輯應(yīng)用清單文件AndroidManifest.xml添加文件相關(guān)權(quán)限

3.做好配置后,就可以在工程中使用了,先是初始化xLog的相關(guān)打印配置,建議放在application的onCreate生命周期中初始化一次就可以了,我這里為了演示方便,就直接在MainActivity的onCreate中初始化了

初始化的代碼中可以配置日志打印的生效級別,線程信息,堆棧深度,打印格式,寫入文件路徑等

4.接著就可以在代碼中使用xLog相關(guān)日志打印方法來打印日志了,打印的日志便會存儲到你設(shè)定的日志路徑中,日志打印方法中支持使用%s來插值,打印出的內(nèi)容會根據(jù)傳入的參數(shù)來格式化輸出~,還支持以美觀的格式打印出map類型、json類型數(shù)據(jù)結(jié)構(gòu)

運行效果
編寫完打印的測試代碼,可以運行到模擬器中來觀察下運行效果~
允許文件權(quán)限

點擊日志打印的按鈕來觸發(fā)日志打印,觀察控制臺的日志輸出,首字母展示出了日志打印的級別

map、json類型的日志打印效果

再來看下日志文件是否已經(jīng)被寫入磁盤中,根據(jù)日志路徑,可以在模擬器的文件管理應(yīng)用中找到對應(yīng)位置

已經(jīng)可以看到日志內(nèi)容被寫入文件中了~

到此,xLog日志框架的使用已經(jīng)演示完成了,需要注意的是,在生產(chǎn)版本的app中,開啟日志的寫入磁盤功能多少會有一些性能損耗,對于性能差的Android機器運行應(yīng)用來看會降低一些用戶體驗,如果一定要寫日志,也應(yīng)該設(shè)置一個更高的日志級別才合適~

完整測試工程參考:https://github.com/netbuffer/android-technology-test/tree/master/xLogtest