asdtiang的博客 感謝blogjava提供的博客交流平臺

          JAVA 日志系統簡介--轉

          Posted on 2010-01-12 17:21 asdtiang 閱讀(2113) 評論(0)  編輯  收藏 所屬分類: java se

          日 志,源于log,有航海日志的意思。指記錄海員記錄每天的行程,生活及發生的事件。在軟件開發領域,用來監控代碼中變量變化,跟蹤 代碼運行的軌跡,在開發環境中擔當調試器作用,向控制臺或文件輸出信息。

           

          幾乎所有的軟件開發語言(平臺)都有自己的日志系統,java,.net,ruby,php等。在java領 域,存在大量的日志組件,open-open收 錄了21個日志組件。

          從 功能上講,這些可以分為三類,一是日志工具類,它實現了日志的記錄,格式化和級別的劃分,代表為 logback,simplelog。二是日志系統,提供了完整的框架功能并實現了日志記錄。代表為jul(jdk提供的日志框 架),log4j(apache開源項目)。三是抽象整合類,它提供了一組接口,完成日志功能,通過包裝其他日志工具或系統來工作jcl(apache開 源組件),slf4j。

           

          從歷史上講,log4j出現最早,Ceki Gülcü是其創造者。自java1.4開始,jdk提供了java.util.logging 類庫,提供了一個完整的日志框架,在設計上要比log4j要更清晰。 這個時候,除此之外,還有一些其他日志組件,java領域從來不缺少輪子,總是有人在發明輪 子,輪子多了,就會產生混亂,就會有人站出來,要一統江湖,于是,jcl,apache一個開源的日志組件誕生了,它提供了一組日志系統的接口,通過對 log4j,jul和simplelog進行包裝,提供日志功能。這樣,開發的時候,只需要使用jcl,通過配置,靈活選擇底層實現。這樣,對于開發人員 來說,開發更簡單了些??雌饋硪磺刑搅?,可Ceki Gülcü認為,應該有一個更好的日志框架。log4j經過這么久的發展,已經成為了一個巨人,亦 傷痕累累,從外面看,經典,莊重,強壯,從內部看,卻有著一根根的飛線(ThinkPad),充滿了代碼的壞味道?;蛟S他沒有勇氣來改造這個巨人,離開也 許是最好的選擇,于是,出來,創建了slf4j,來取代jcl,創建了logback,來取代log4j。目前,log4j和jul應用最為廣 泛,slf4j作為新興的抽象層,整合logback,以其簡潔,快速,正被越來越多的頂級項目使用。

           

          代表日志組件簡要介紹。

          Log4j,歷史悠久,應用廣泛,被移植到多種語言及平臺,功能強大,在眾多的日志框架 中,仍占據著主導地位。

          Jul,jdk提供的日志框架,設計精良,和jdk緊密結合,控制靈活,使用簡單。

          Jcl,提供了日志的抽象層,可以整合多種實現。但有classloader問題。

          Slf4j,提供了jcl的超集,避免了classloader問題。

          Logback,可靠,通用,快速,靈活的java日 志工具(官方描述)。

           

          項目選擇思考。

          如果是單一的項目,如桌面應用,采 用jul,免配置,控制靈活。

          如果是web開發,宜采用 log4j,因為系統已經有了很多的配置文件,不在乎多一個,而且log4j可以脫離任何組件,不像jul,和jvm緊密結合在一起。

          如果是多項目整合開發,宜采用 slf4j,一是它可以整合其他遺留日志組件,二是其提供的抽象層,為將來的開發提供了靈活性。

           

          參考資料:

          1.IBM developerworks對 log4j的介紹。 鏈接

          2.Java開 源日志組件列表。鏈接

          3.Slf4j官 方網站。鏈接

          4.Logback官 方網站。鏈接

          5.Log4j官 方網站。鏈接

          6.Jcl官 方網站。鏈接

          7.Sun官 方網站。鏈接

          8.一 個jcl的中文說明。鏈接



          天蒼蒼,野茫茫,風吹草底見牛羊

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


          網站導航:
           

          posts - 80, comments - 24, trackbacks - 0, articles - 32

          Copyright © asdtiang

          asdtiang的博客 PaidMailz
          點擊廣告網賺A(每天4個廣告,每個0.0025美元,一個搜索廣告0.03美元)
          主站蜘蛛池模板: 太湖县| 安义县| 吕梁市| 怀来县| 延吉市| 松阳县| 平乡县| 济宁市| 乐都县| 松溪县| 奉化市| 海丰县| 喀喇| 虎林市| 广宁县| 佛冈县| 巴中市| 渭南市| 大同县| 江都市| 睢宁县| 施甸县| 宜城市| 卢湾区| 莎车县| 沐川县| 湘乡市| 东辽县| 涞源县| 吐鲁番市| 城口县| 逊克县| 资溪县| 泸西县| 库伦旗| 绥阳县| 措勤县| 阜南县| 浦城县| 阜阳市| 泰兴市|