常用日誌框架
Log4j
Log4j是Apache的一個Java的日誌庫,通過使用Log4j,我們可以控制日誌信息輸送的目的地(控制檯、文件、數據庫等);我們也可以控制每一條日誌的輸出格式;通過定義每一條日誌信息的級別,我們能夠更加細緻地控制日誌的生成過程。
Logback
Logback,一個“可靠、通用、快速而又靈活的Java日誌框架”。logback當前分成三個模塊:logback-core,logback- classic和logback-access。logback-core是其它兩個模塊的基礎模塊。logback-classic是log4j的一個改良版本。此外logback-classic完整實現SLF4J API使你可以很方便地更換成其它日誌系統,如log4j或JDK14 Logging。logback-access模塊與Servlet容器(如Tomcat和Jetty)集成,以提供HTTP訪問日誌功能。請注意,您可以在logback-core之上輕鬆構建自己的模塊。
Log4j2
Apache Log4j 2是對Log4j的升級,它比其前身Log4j 1.x提供了重大改進,並提供了Logback中可用的許多改進,同時修復了Logback架構中的一些問題。
現在最優秀的Java日誌框架是Log4j2,沒有之一。根據官方的測試表明,在多線程環境下,Log4j2的異步日誌表現更加優秀。在異步日誌中,Log4j2使用獨立的線程去執行I/O操作,可以極大地提升應用程序的性能。
日誌門面SLF4J
上述介紹的是一些日誌框架的實現(Log4j、Logback、log4j2),這裏我們需要用日誌門面來解決系統與日誌實現框架的耦合性。SLF4J,即簡單日誌門面(Simple Logging Facade for Java),它不是一個真正的日誌實現,而是一個抽象層( abstraction layer),它允許你在後臺使用任意一個日誌實現。
Apache Log4j2詳解
簡介
Apache Log4j 2是對Log4j的升級,它比其前身Log4j 1.x提供了重大改進,並提供了Logback中可用的許多改進,同時修復了Logback架構中的一些問題。是目前最優秀的Java日誌框架,沒有之一。
特徵
API分離
Log4j的API與實現分開,使應用程序開發人員可以清楚地瞭解可以使用哪些類和方法,同時確保向前兼容性。這使Log4j團隊能夠以安全且兼容的方式進行改進。
使用Log4j2