關(guān)于logback也是近期才學(xué)習(xí)到的,網(wǎng)上的資料也很多富玷,但是也是比較雜亂璧坟。自己集成也是花費(fèi)了很多時(shí)間,包括一些細(xì)節(jié)凌彬,很不容找沸柔,特此寫出來(lái),希望給大家提供點(diǎn)方便铲敛,也為自己學(xué)習(xí)做個(gè)整理
第一步:環(huán)境搭建
庫(kù)的地址:https://github.com/tony19/logback-android
按照庫(kù)上的指導(dǎo)褐澎,直接在module的gradle.build中的dependencies加入,版本號(hào)可根據(jù)github上最新的來(lái)伐蒋,如下:
第二部:編寫logback.xml文件
第一步環(huán)境準(zhǔn)備完畢工三,直接在module的src/main下新建assets目錄,如下
然后在新建一個(gè)xml先鱼,命名logback俭正,注意此處的名字一定要是logback,不然系統(tǒng)會(huì)找不到焙畔。關(guān)于logback.xml文件的寫法和說(shuō)明掸读,我在配置文件里都做了說(shuō)明,下面截圖如下:
在配置appender的時(shí)候宏多,需要注意的是儿惫,如果采用RollingFileAppender的時(shí)候,又想采用時(shí)間和大小去控制日志的滾動(dòng)伸但,那么需要使用SizeAndTimmBasedRollingPolicy肾请,不然策略不生效,即滾動(dòng)條件不生效更胖。第二點(diǎn)铛铁,maxFileSize這個(gè)可以設(shè)置為KB或者M(jìn)B,但是只能設(shè)置為整數(shù)却妨,如果設(shè)置為小數(shù)饵逐,則無(wú)法生成log文件,樣例配置如下:
一般我們采用異步寫入文件的方式管呵,不發(fā)生IO梳毙,也能提升QPS。所以采用了AsyncAppender來(lái)處理捐下,且內(nèi)部子節(jié)點(diǎn)appender-ref只能有一個(gè)账锹,且指向工作appender,即負(fù)責(zé)寫入內(nèi)容的RollingFileAppender坷襟,還有其他說(shuō)明都寫入了注釋奸柬,請(qǐng)大家仔細(xì)閱讀,圖如下:
第三部:代碼中使用
配置文件整理完畢婴程,現(xiàn)在我們看看如何使用廓奕。其實(shí)使用上有兩種方式:
第一種,直接使用档叔,此種方式是直接找到root下的appender進(jìn)行處理的桌粉,如下圖:
第二種,指定name的appender來(lái)處理衙四,下面就是找到logger節(jié)點(diǎn)name為logtest的appender铃肯,如下圖:
最后說(shuō)明下,此處需要申明讀寫權(quán)限传蹈,特別在6.0以上押逼,需要?jiǎng)討B(tài)申請(qǐng)儲(chǔ)存權(quán)限,這點(diǎn)不要忘記了惦界。
至此挑格,在Android端集成logback已基本完成。有些細(xì)節(jié)已經(jīng)在配置文件中指明沾歪,有些細(xì)節(jié)如需了解還需要自己手動(dòng)補(bǔ)充了漂彤。