Java開源日誌架構介紹__Java

來源:互聯網
上載者:User

在大型應用系統中,日誌是不可缺少的重要組成部分,所有的應用的出錯資訊等都應該能在記錄檔中尋找到,有的應用系統日誌可能數量很小,有的龐大的應用系統的日誌是相當龐大,同時記錄檔必須是方便使用者定製和尋找的,要具備很高的效能,否則會影響應用系統的效能。

儘管記錄日誌是應用開發中並不可少的功能,在 JDK 的最初版本中並不包含日誌記錄相關的 API 和實現。相關的 API(java.util.logging 包,JUL)和實現,直到 JDK 1.4 才被加入。因此在日誌記錄這一個領域,社區貢獻了很多開源的實現。其中比較流行的包括 log4j 及其後繼者 logback。除了真正的日誌記錄實現之外,還有一類與日誌記錄相關的封裝 API,如 Apache Commons Logging 和 SLF4J。這類庫的作用是在日誌記錄實現的基礎上提供一個封裝的 API 層次,對日誌記錄 API 的使用者提供一個統一的介面,使得可以自由切換不同的日誌記錄實現。比如從 JDK 的預設日誌記錄實現 JUL 切換到 log4j。這類封裝 API 庫在架構的實現中比較常用,因為需要考慮到架構使用者的不同需求。在實際的項目開發中則使用得比較少,因為很少有項目會在開發中切換不同的日誌記錄實現。本文對於這兩類庫都會進行具體的介紹。


Log4J

Log4j是Apache的一個開放原始碼項目,通過使用Log4j,我們可以控制日誌資訊輸送的目的地是控制台、檔案、GUI組件、甚至是套介面伺服器、NT的事件記錄器、UNIX Syslog守護進程等;使用者也可以控制每一條日誌的輸出格式;通過定義每一條日誌資訊的層級,使用者能夠更加細緻地控制日誌的產生過程。這些可以通過一個設定檔來靈活地進行配置,而不需要修改程式碼。

Log4J 最新版本已經升級到2.0版本了,效能比1.x版本提高了許多並汲取了Logback的一些優點,詳細資料可以參考官網文檔。

官網連結:http://logging.apache.org/log4j/2.x/


Jakarta Commons Logging

Jakarta Commons Logging (JCL)提供的是一個日誌(Log)介面(interface),同時兼顧輕量級和不依賴於具體的日誌實現工具。 它提供給中介軟體/日誌工具開發人員一個簡單的日誌操作抽象,允許程式開發人員使用不同的具體日誌實現工具。使用者被假定已熟悉某種日誌實現工具的更進階別的細節。JCL提供的介面,對其它一些日誌工具,包括Log4J, Avalon LogKit,JDK 1.4(java.util.logging 包,JUL)等,進行了簡單的封裝,此介面更接近於Log4J和LogKit的實現。


Logback

Logback是由log4j創始人設計的又一個開源日記組件。logback當前分成三個模組:logback-core,logback-classic和logback-access。logback-core是其它兩個模組的基礎模組。logback-classic是log4j的一個改良版本。此外logback-classic完整實現SLF4J API使你可以很方便地更換成其它日記系統如log4j或JDK1.4 Logging。logback-access訪問模組與Servlet容器整合提供通過Http來訪問日記的功能。


SLF4J

SLF4J(Simple Logging Facade for Java)是為各種loging APIs提供一個簡單統一的介面,從而使得終端使用者能夠在部署的時候配置自己希望的loging APIs實現。 Logging API實現既可以選擇直接實現SLF4J接的loging APIs如: NLOG4J、SimpleLogger。也可以通過SLF4J提供的API實現來開發相應的適配器如Log4jLoggerAdapter、JDK14LoggerAdapter。

官網連結:http://www.slf4j.org/



最後推薦 IBM developerWorks 技術主題上一位大牛的文章 Java 日誌管理最佳實務,文章對日誌管理有詳細的介紹,大家可以參考參考。





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.