<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    關(guān) 注 開 源 (王鋒的Blog)

    Spring Hibernate Jboss Tomcat SCA OSGI

    LOGBack:Java日志的新進(jìn)展

    Ceki Gülcü在Java日志領(lǐng)域世界知名。他創(chuàng)造了Log4J,這個(gè)最早的Java日志框架即便在JRE內(nèi)置日志功能的競爭下仍然非常流行。隨后他又著手實(shí)現(xiàn)SLF4J這個(gè)“簡單的日志前端接口(Façade)”來替代Jakarta Commons-Logging

    在過去的一年中,Ceki在從事他的新項(xiàng)目,LOGBack,一個(gè)“可靠、通用、快速而又靈活的Java日志框架”。自一年前發(fā)布0.1 alpha版以來,LOGBack已經(jīng)取得了長足的進(jìn)步。1.0版即將發(fā)布,又有早期用戶的正面評價(jià),我們也應(yīng)該仔細(xì)看看LOGBack,到底適不適合我們的需要。

    Xavier Hanin 談?wù)摿?/a>他使用LOGBack的經(jīng)驗(yàn):

    我已經(jīng)用了LOGBack幾個(gè)月,我被它打動(dòng)了。
    文檔和支持都很完善,日志功能簡潔利落,性能表現(xiàn)也說得上風(fēng)馳電掣,還有創(chuàng)新的Eclipse插件,我終于給勞苦功高的Log4J找到了接班人。

    Rob Willams 補(bǔ)充說

    噢,還有,我們當(dāng)初毅然決定采用LogBack。愛死它了。整個(gè)過渡過程一點(diǎn)麻煩都沒有,我們絕對喜歡它的新語法。

    他所說的新語法讓LOGBack能夠處理許多復(fù)雜的日志語句,而不再需要事先檢查日志級別(logging level),同時(shí)性能上的影響微不足道。比如在Log4J里面,你可能會這樣寫:

      if( logger.isDebugEnabled() ) {
    
    logger.debug( "User with account " +
    user.getAccount() + " failed authentication; " +
    "supplied crypted password " + user.crypt(password) +
    " does not match." );
    }

    等價(jià)的LOGBack語句如下:

      logger.debug( "User with account {} failed authentication; " +
    
    "supplied crypted password {} does not match.",
    user.getAccount(), user.crypt(password) );

    LOGBack把拼裝消息的代價(jià)推遲到它能夠確定是不是要顯示這條消息的時(shí)候。不過獲取參數(shù)的高昂代價(jià)并沒有被推遲支付,比如上例中的密碼加密。

    LOGBack還聲稱自己性能更佳:

    某些關(guān)鍵操作,比如判定是否記錄一條日志語句的操作,其性能得到了顯著的提高。這個(gè)操作在LOGBack中需要3納秒,而在Log4J中則需要30納秒。LOGBack創(chuàng)建記錄器(logger)的速度也更快:13毫秒,而在Log4J中需要23毫秒。更重要的是,它獲取已存在的記錄器只需94納秒,而Log4J需要2234納秒,時(shí)間減少到了1/23。跟JUL相比的性能提高也是顯著的。

    LOGBack還可以被集成,目前已經(jīng)有了一個(gè)Eclipse插件和一個(gè)JMX Configurator Bean。

    InfoQ就LOGBack訪問了Ceki,第一個(gè)問題是大家都關(guān)心的:為什么要建立另一個(gè)日志框架,而不是把這些改進(jìn)放到Log4J中去?

    我當(dāng)時(shí)(今天也還部分地)覺得在Apache Logging Services項(xiàng)目之外做創(chuàng)新會容易一些。不要誤會我的意思,我對Apache Software Foundation的評價(jià)很高,它是一個(gè)獨(dú)特的,而且在很多方面都極其出色的組織。誰也說不定,可能有一天SLF4J和LOGBack成為日志領(lǐng)域新的事實(shí)標(biāo)準(zhǔn)的時(shí)候,會重新融入Apache。

    關(guān)于SLF4J的接受程度:

    現(xiàn)在有幾個(gè)重量級項(xiàng)目,比如Hibernate、Jetty、Spring-OSGi和Wicket都已經(jīng)遷移到了SLF4J API,我可以毫不慚愧地說,SLF4J的吸引力不可忽視。SLF4J正在四處冒出頭來,雖然Jakarta Commons Logging(JCL)這個(gè)廣泛使用的類庫,在Apache品牌的溫暖陽光沐浴下,占據(jù)著整個(gè)疆域。考慮到開始時(shí)的劣勢,SLF4J現(xiàn)在的表現(xiàn)已經(jīng)超過了我們的預(yù)期。

    當(dāng)被問到如何比較LOGBack的免費(fèi)文檔,和Log4J那種小部分免費(fèi)大部分商業(yè)的文檔時(shí):

    如你所說,Log4J只提供了有限的免費(fèi)文檔,完善的文檔則需要付費(fèi)。對于LOGBack,我們采納了另一種途徑,我們所有的文檔都可以在我們的項(xiàng)目網(wǎng)站上直接看到,獲取也完全免費(fèi),這給了Java開發(fā)者們又一個(gè)理由轉(zhuǎn)移到LOGBack。另外,LOGBack的市場占有率比Log4J要低一個(gè)數(shù)量級,銷售LOGBack的文檔沒有任何經(jīng)濟(jì)上的意義。
    為了保證項(xiàng)目的長期經(jīng)濟(jì)支持,我們開發(fā)了一個(gè)跟LOGBack稍稍相關(guān)的產(chǎn)品,過幾周就會推出。我們對LOGBack的長期計(jì)劃是不搞任何噱頭,把它發(fā)展成一個(gè)合作性的開源項(xiàng)目。至于“合作性”,我的意思是開方給所有開發(fā)者作貢獻(xiàn),而不局限于現(xiàn)在的開發(fā)團(tuán)隊(duì)。

    請說說離1.0版發(fā)布還差些什么:

    對于即將到來的1.0版,大部分重要的東西都已經(jīng)齊備了。我們還要修復(fù)很多錯(cuò)誤,但主要的工作還是完善文檔,做更多的測試,一再重復(fù)做這些事情。我說過要完善文檔沒?
    在日志這個(gè)領(lǐng)域還有很多東西需要我們?nèi)プ觯赡芤脦状瞬拍芡瓿伞N覀円呀?jīng)逐漸看清了前面的路途,希望能夠給未來鋪平一些道路。

    當(dāng)被問到LOGBack有哪些能夠吸引開發(fā)者的地方:

    沒有絕對的答案。有些用戶可能會覺得性能是一個(gè)值得轉(zhuǎn)移到LOGBack的理由,其他人可能覺得Log4J已經(jīng)不錯(cuò)。雖然我和其他LOGBack開發(fā)者們正努力給用戶更多的理由,不過我們中間很多人對于能夠從事一個(gè)強(qiáng)調(diào)質(zhì)量的軟件項(xiàng)目已經(jīng)很滿意。我們必須“吃我們自己的狗食”,并在這個(gè)過程中得到有價(jià)值的軟件開發(fā)技能——按今天的標(biāo)準(zhǔn)來說并不壞。考慮到LOGBack項(xiàng)目的出發(fā)點(diǎn)正是Log4J項(xiàng)目的不及之處,只要我們持續(xù)不斷地改進(jìn)LOGBack,我們相信一定會有越來越多的Java開發(fā)者接受SLF4J/LOGBack的組合。

    因?yàn)镾LF4J和LOGBack可以橋接其他競爭性的API,開發(fā)者們可以在他們的項(xiàng)目中用LOGBack替換Log4J(通過log4j-bridge.jar)和Jakarta Commons-Logging(通過jcl104-over-slf4j.jar),因而不必僅僅為了使用LOGBack而被迫在同一個(gè)項(xiàng)目中配置好幾個(gè)日志框架。

    關(guān)于LOGBack和SLF4J的更多信息請閱讀Ceki的 <十個(gè)轉(zhuǎn)移到LOGBack的理由>。

    posted on 2007-08-25 21:57 wangfeng 閱讀(1651) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品亚洲人成在线播放| 亚洲毛片αv无线播放一区| 久久亚洲国产午夜精品理论片 | 日韩一品在线播放视频一品免费| 一区二区三区亚洲| 精品无码国产污污污免费网站 | 一级毛片a女人刺激视频免费 | 毛片无码免费无码播放| 亚洲av无码不卡| 久久A级毛片免费观看| 亚洲精品电影在线| 四虎国产精品免费久久| 亚洲GV天堂GV无码男同 | 亚洲精品国产字幕久久不卡| 三年片免费高清版 | 亚洲影视自拍揄拍愉拍| 毛片a级毛片免费观看品善网| 中日韩亚洲人成无码网站| 暖暖在线日本免费中文| 免费人成动漫在线播放r18| 亚洲一区二区女搞男| 久久精品视频免费播放| 亚洲国产精品综合福利专区| 大香人蕉免费视频75| 黄色免费在线观看网址| 亚洲av无码国产精品夜色午夜| 99re免费99re在线视频手机版| 国产亚洲sss在线播放| 亚洲va中文字幕无码| 你懂的免费在线观看网站| 亚洲av专区无码观看精品天堂| 日本成人免费在线| 国产午夜无码精品免费看| 亚洲AV无码成人专区| 亚洲天堂中文字幕在线| 最近最好最新2019中文字幕免费| 中文字幕无码精品亚洲资源网久久 | 亚洲精品无码永久在线观看| 久9这里精品免费视频| 亚洲日韩av无码中文| 国产亚洲色婷婷久久99精品|