日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

003_commons-logging与slf4j和log4j与logback

發(fā)布時間:2025/4/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 003_commons-logging与slf4j和log4j与logback 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 日志接口常用的有commons-logging和slf4j, 日志實現(xiàn)常用的有l(wèi)og4j和logback。那么, 我們應(yīng)該選取什么樣的組合呢?

2. Logback是由log4j創(chuàng)始人設(shè)計的又一個開源日志組件。logback當前分成三個模塊: logback-core, logback- classic和logback-access。logback-core是其它兩個模塊的基礎(chǔ)模塊。logback-classic是log4j的一個改良版本。此外logback-classic完整實現(xiàn)slf4j api使你可以很方便地更換成其它日志系統(tǒng)如log4j或JDK14 Logging。logback-access訪問模塊與Servlet容器集成提供通過Http來訪問日志的功能。

3. logback與Log4J的比較

3.1. 更快的實現(xiàn): Logback的內(nèi)核重寫了, 在一些關(guān)鍵執(zhí)行路徑上性能提升10倍以上。而且logback不僅性能提升了, 初始化內(nèi)存加載也更小了。

3.2. Logback-classic完整實現(xiàn)了slf4j api: logback-classic完整實現(xiàn)slf4j api, 在使用slf4j中, 你都感覺不到logback-classic。因為logback-classic非常自然地實現(xiàn)了slf4j, 所以切換到log4j或者其他日志系統(tǒng), 非常容易, 只需要提供成另一個jar包就OK, 根本不需要去動那些通過slf4j api實現(xiàn)的代碼。 ?

3.3. 自動重載配置文件: 當配置文件修改了, Logback-classic能自動重新加載配置文件。掃描過程快且安全, 它并不需要另外創(chuàng)建一個掃描線程。

3.4. 安全模式和友好恢復(fù): 在謹慎模式下, 多個FileAppender實例跑在JVM下, 能夠安全地寫同一個日志文件。Logback的FileAppender和它的子類包括RollingFileAppender能夠非常友好地從I/O異常中恢復(fù)。

3.5. 配置文件可以處理不同的情況: 開發(fā)人員經(jīng)常需要判斷不同的Logback配置文件在不同的環(huán)境下(開發(fā), 測試, 生產(chǎn))。而這些配置文件僅僅只有一些很小的不同, 就可以實現(xiàn), 這樣一個配置文件就可以適應(yīng)多個環(huán)境。

3.6. Filters(過濾器): 有些時候, 需要診斷一個問題, 需要打出日志。在log4j, 只有降低日志級別, 不過這樣會打出大量的日志, 會影響應(yīng)用性能。在Logback, 你可以繼續(xù)保持那個日志級別而除掉某種特殊情況, 如alice這個用戶登錄, 她的日志將打在DEBUG級別而其他用戶可以繼續(xù)打在WARN級別, 要實現(xiàn)這個功能只需加4行XML配置。

3.7. SiftingAppender(一個多功能的Appender): 它可以用來分割日志文件根據(jù)任何一個給定的運行參數(shù)。如SiftingAppender能夠區(qū)別日志事件跟進用戶的Session, 然后每個用戶會有一個日志文件。

3.8. 自動壓縮log日志: RollingFileAppender在產(chǎn)生新文件的時候, 會自動壓縮已經(jīng)打出來的日志文件。壓縮是個異步過程, 所以甚至對于大的日志文件, 在壓縮過程中應(yīng)用不會受任何影響。

3.9. 自動去除舊日志: 通過設(shè)置SizeAndTimeBasedRollingPolicy或者TimeBasedRollingPolicy的maxHistory屬性, 你可以控制已經(jīng)產(chǎn)生日志文件的最大數(shù)量。如果設(shè)置maxHistory為12, 那那些log文件超過12個月的都會被自動移除。

4. 當年Apache說服log4j以及其他的日志來按照commons-logging的標準編寫, 但是由于commons-logging的類加載有點問題, 實現(xiàn)起來也不友好, 于是乎就用有人創(chuàng)作了slf4j, 也因此而與commons-logging兩分天下。更加推薦slf4j+logback的組合。?

?

總結(jié)

以上是生活随笔為你收集整理的003_commons-logging与slf4j和log4j与logback的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。