SLF4J軟件介紹
slf4j,simple logging facade for java的縮寫,翻譯為java的簡單日志外觀。slf4j是一個開源項目,它提供我們一個一致的API來使用不同的日志框架,比如: java.util.logging,logback,log4j等。slf4j使用戶可以在運行時嵌入他們想使用的日志框架。從名字中可以看出,它其實使用的是facade設計模式來實現的。
使用slf4j,只有一個強制性的依賴,就是slf4j-api-x.x.x.jar,我們在編寫代碼的時候,只會使用這個jar包里的API,應用程序在運行時去類路徑下查找綁定的具體日志框架,并使用該綁定的日志框架進行實際的日志操作,如果在應用程序的類路徑下面沒有找到合適的綁定的話,slf4j默認使用一個沒有任何操作的實現。
在許多著名的項目中都使用了slf4j,比如:Apache ActiveMQ, Ehcache, H2 database, Gradle, GreenMail, Hibernate.....
SLF4J軟件特色
二進制兼容
一個SLF4J綁定指定一個具體的依賴用來在底層日志框架綁定slf4j,比如說 slf4j-jdk14.jar或 slf4j-log4j12.jar。
不同版本的 slf4j-api.jar和SLF4J綁定混合在一起可能會引起問題。比如說,如果你使用 slf4j-api-1.7.19.jar,然后你應該使用 slf4j-simple-1.7.19.jar,使用 slf4j-simple-1.5.5.jar將不會正常工作。
然而,從客戶端的觀點來看,所有版本的 slf4j-api都是兼容的。使用 slf4j-api-N.jar編譯的客戶端代將和 slf4j-api-M.jar一起完美運行,N和M都是任意的。你僅僅需要確保你綁定的版本和 slf4j-api.jar 匹配。你不需要擔心項目中給定的依 賴的slf4j-api.jar的版本。你可以使用任何版本的 slf4j-api.jar,只要 slf4j-api.jar的版本和它的綁定匹配,就不會有問題。
在初始化的時間,如果SLF4J懷疑可能有不匹配問題。將會發出關于不匹配的警告信息。
通過SLF4J統一日志
通常,一個給定的項目依賴于各種各樣的組件,這些組件依賴的日志API不是SLF4J。一個項目依賴于一個JCL、java.util.logging、log4j和SLF4J是很常見的。然后通過一個單獨的方式來統一日志變得讓人滿意。SLF4J通過提供對JCL、
java.util.logging、和slf4j的橋接模塊來滿足這個普通的用例。更詳細的內容,請參考 Bridging legacy APIs.
MDC支持
“Mapped Diagnostic Context”本質上是日志框架包含的一個map,應用程序代碼提供了key-value對,這個鍵值對能被日志框架插入到日志信息中去。MDC數據在過濾信息或觸發某些操作時是非常有用的。
SLF4J支持MDC,如果一個底層的日志框架提供了MDC功能,SLF4J將委托給底層日志框架的MDC。注意,現在僅僅只有log4j和logback提供了MDC功能。如果底層日志框架不支持MDC,比如說java.util.loggin,SLF4J將存儲MDC數 據,但是里面的數據需要用戶通過代碼來獲取。
因此,作為一個SLF4J使用者,能利用當 log4j和logback存在時的 MDC信息,但是不能強迫用戶依賴這些日志框架。
SLF4J使用說明
1、如果用maven,添加slf4j-api依賴,我們用最新的版本2.0.0-alpha1;再添加一個實現框架logback,logback中logback-classic實現了slf4j接口,我們也添加最新版本1.3.0-alpha5。
2、添加logback.xml配置文件
3、寫個測試程序
SLF4J更新日志
將bug掃地出門進行到底
優化用戶反饋的問題,提升細節體驗
華軍小編推薦:
SLF4J軟件占用內存小,性能穩定,無任何捆綁,綠色安全,真正是一款良心軟件!本站還有Maven、OpenCart、Java2 Runtime Environment、Eclipse IDE for Java EE Developers For Linux(64-bit)、GCC For Linux,供您下載!
您的評論需要經過審核才能顯示
有用
有用
有用