Android中使用logback來搭建日誌系統
關於logback也是近期才學習到的,網上的資料也很多,但是也是比較雜亂。自己整合也是花費了很多時間,包括一些細節,很不容找,特此寫出來,希望給大家提供點方便,也為自己學習做個整理
第一步:環境搭建
庫的地址: ofollow,noindex">https://github.com/tony19/logback-android
按照庫上的指導,直接在module的gradle.build中的dependencies加入,版本號可根據github上最新的來,如下:

module的gradle.build檔案
第二部:編寫logback.xml檔案
第一步環境準備完畢,直接在module的src/main下新建assets目錄,如下

然後在新建一個xml,命名logback,注意此處的名字一定要是logback,不然系統會找不到。關於logback.xml檔案的寫法和說明,我在配置檔案裡都做了說明,下面截圖如下:

圖一

圖二
在配置appender的時候,需要注意的是,如果採用RollingFileAppender的時候,又想採用時間和大小去控制日誌的滾動,那麼需要使用SizeAndTimmBasedRollingPolicy,不然策略不生效,即滾動條件不生效。第二點,maxFileSize這個可以設定為KB或者MB,但是隻能設定為整數,如果設定為小數,則無法生成log檔案,樣例配置如下:

圖三
一般我們採用非同步寫入檔案的方式,不發生IO,也能提升QPS。所以採用了AsyncAppender來處理,且內部子節點appender-ref只能有一個,且指向工作appender,即負責寫入內容的RollingFileAppender,還有其他說明都寫入了註釋,請大家仔細閱讀,圖如下:

圖四
第三部:程式碼中使用
配置檔案整理完畢,現在我們看看如何使用。其實使用上有兩種方式:
第一種,直接使用,此種方式是直接找到root下的appender進行處理的,如下圖:

圖五
第二種,指定name的appender來處理,下面就是找到logger節點name為logtest的appender,如下圖:

圖六
最後說明下,此處需要申明讀寫許可權,特別在6.0以上,需要動態申請儲存許可權,這點不要忘記了。
至此,在Android端整合logback已基本完成。有些細節已經在配置檔案中指明,有些細節如需瞭解還需要自己手動補充了。