如何配置SLF4J不同的日志實(shí)現(xiàn)?
SLF4J是一套簡單的日志外觀模式的Java API,幫助在項(xiàng)目部署時(shí)對(duì)接各種日志實(shí)現(xiàn)。 LogBack在運(yùn)行時(shí)使用JMX幫助修改日志配置,在生產(chǎn)狀態(tài)下無需重啟應(yīng)用程序。 SLF4J是簡單的日志外觀模式框架,抽象了各種日志框架例如Logback、Log4j、Commons-logging和JDK自帶的logging實(shí)現(xiàn)接口。
它使得用戶可以在部署時(shí)使用自己想要的日志框架。SLF4J是輕量級(jí)的,在性能方面幾乎是零消耗的。 SLF4J沒有替代任何日志框架,它僅僅是標(biāo)準(zhǔn)日志框架的外觀模式。
如果在類路徑下除了SLF4J再?zèng)]有任何日志框架,那么默認(rèn)狀態(tài)是在控制臺(tái)輸出日志。 Logback是Log4j的改進(jìn)版本,而且原生支持SLF4J(因?yàn)槭峭蛔髡唛_發(fā)的),因此從其它日志框架如Log4j或JDK的logging遷移到Logback是完全可行的。
由于Logback原生支持SLF4J,因此Logback+SLF4J的組合是日志框架的最佳選擇,比SLF4J+其它日志框架的組合要快一些。而且Logback的配置可以是XML或Groovy代碼。
注意一個(gè)重要的特性,Logback通過JMX修改日志配置(比如日志級(jí)別從Debug調(diào)整到INFO),可以從JMX控制臺(tái)直接操作,無需重啟應(yīng)用程序。