log4j slf4j实现_slf4j 与log4j logback的区别以及使用场景
1.1 slf4j
1.1.1 slf4j概念
SLF4J,即簡單日志門面(Simple Logging Facade for Java),不是具體的日志解決方案,它只服務(wù)于各種各樣的日志系統(tǒng)。按照官方的說法,SLF4J是一個用于日志系統(tǒng)的簡單Facade,允許最終用戶在部署其應(yīng)用時使用其所希望的日志System.
實(shí)際上,SLF4J所提供的核心API是一些接口以及一個LoggerFactory的工廠類。從某種程度上,SLF4J有點(diǎn)類似JDBC,不過比JDBC更簡單,在JDBC中,你需要指定驅(qū)動程序,而在使用SLF4J的時候,不需要在代碼中或配置文件中指定你打算使用那個具體的日志系統(tǒng)。如同使用JDBC基本不用考慮具體數(shù)據(jù)庫一樣,SLF4J提供了統(tǒng)一的記錄日志的接口,只要按照其提供的方法記錄即可,最終日志的格式、記錄級別、輸出方式等通過具體日志系統(tǒng)的配置來實(shí)現(xiàn),因此可以在應(yīng)用中靈活切換日志系統(tǒng)。
1.1.2 使用場景
如果你開發(fā)的是公共使用的JAR包、類庫、公共組件,那么就應(yīng)該考慮采用SLF4J,因?yàn)椴豢赡苡绊懽罱K用戶選擇哪種日志系統(tǒng)。在另一方面,如果是一個簡單或者獨(dú)立的應(yīng)用,確定只有一種日志系統(tǒng),那么就沒有使用SLF4J的必要。假設(shè)你打算將你使用log4j的產(chǎn)品賣給要求使用logback的用戶時,面對成千上萬的log4j調(diào)用的修改,相信這絕對不是一件輕松的事情。但是如果開始便使用SLF4J,那么這種轉(zhuǎn)換將是非常輕松的事情。
1.2 log4j 與 logback對比
log4j和logback就是兩個受歡迎的日志框架。但兩者又有不同。 log4j是apache實(shí)現(xiàn)的一個開源日志組件。
logback同樣是由log4j的作者設(shè)計(jì)完成的,擁有更好的特性,用來取代log4j的一個日志框架。是slf4j的原生實(shí)現(xiàn)。
無論從設(shè)計(jì)上還是實(shí)現(xiàn)上,Logback相對log4j而言有了相對多的改進(jìn)。但是兩者的用法幾乎差別不大。下面是logback的優(yōu)勢:
1.更快的執(zhí)行速度
2.充分的測試
3.logback-classic 非常自然的實(shí)現(xiàn)了SLF4J
4.豐富的擴(kuò)展文檔
5.可以使用使用XML配置文件或者Groovy
6.自動重新載入配置文件
7.優(yōu)雅地從I/O錯誤中恢復(fù)
8.自動清除舊的日志歸檔文件
9.自動壓縮歸檔日志文件
總結(jié)
以上是生活随笔為你收集整理的log4j slf4j实现_slf4j 与log4j logback的区别以及使用场景的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 筹码怎么看
- 下一篇: chi660e电化学工作站软件_Rudd