1. 程式人生 > >從源碼來理解slf4j的綁定,以及logback對配置文件的加載

從源碼來理解slf4j的綁定,以及logback對配置文件的加載

conf efault 會有 noclass bin roo ogg file groovy

https://www.cnblogs.com/youzhibing/p/6849843.html

編譯期間,完成slf4j的綁定已經logback配置文件的加載。slf4j會在classpath中尋找org/slf4j/impl/StaticLoggerBinder.class(會在具體的日誌框架如log4j、logback等中存在),找到並完成綁定;同時,logback也會在classpath中尋找配置文件,先找logback.configurationFile、沒有則找logback.groovy,若logback.groovy也沒有,則找logback-test.xml,若logback-test.xml還是沒有,則找logback.xml,若連logback.xml也沒有,那麽說明沒有配置logback的配置文件,那麽logback則會啟用默認的配置(日誌信息只會打印在控制臺)。

  slf4j只能綁定某一個特定的日誌框架,若沒有綁定,則會有如下警告,說明沒有找到合適的日誌框架

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

  若找到多個日誌框架,slf4j會發出警告,並在運行時拋出NoClassDefFoundError異常

從源碼來理解slf4j的綁定,以及logback對配置文件的加載