更多詳細專業知識請見:http://hey-hey.net/
一、日誌
日誌系統框架可以分爲日誌記錄模塊和日誌輸出模塊兩大部分。日誌記錄模塊負責創建和管理日誌記錄器(Logger),每一個Logger對象負責按照不同的級別(LoggerLevel)接收各種記錄了日誌信息的日誌對象(LogItem),Logger對象首先獲取所有需要記錄的日誌,並且同步地將日誌分派給日誌輸出模塊。日誌輸出模塊則負責日誌輸出器(Appender)的創建和管理,以及日誌的輸出。系統中允許有多個不同的日誌輸出器,日誌輸出器負責將日誌記錄到存儲介質當中。
二、JDK日誌
(實例:http://blog.csdn.net/xiangsuixinsheng/article/details/6687079)
簡介:
java(1.4之後)擁有一個設計良好的類集--java.util.logging,通過日誌系統來控制、格式化以及發佈消息。日誌系統功能非常強大,可以設置日誌消息的優先級,可以通過過濾器來選擇感興趣的信息。並且消息可以輸出到Handler對象能夠處理的任意源,如控制檯、窗口、數據庫、本地文件等等。
主要類:
·Logger:應用程序進行 logging 調用的主要實體。Logger 對象用來記錄特定系統或應用程序組件的日誌消息。
·LogRecord:用於在 logging框架和單獨的日誌處理程序之間傳遞 logging 請求。
·Handler:將 LogRecord 對象導出到各種目的地,包括內存、輸出流、控制檯、文件和套接字。
·Level:定義一組可以用來控制logging輸出的標準logging級別。可以配置程序爲某些級別輸出 logging,而同時忽略其他輸出。
·Filter:爲所記錄的日誌提供日誌級別控制以外的細粒度控制。Logging API 支持通用的過濾器機制,該機制允許應用程序代碼附加任意的過濾器以控制 logging 輸出。
·Formatter:爲格式化 LogRecord 對象提供支持。此包包括的兩個格式化程序SimpleFormatter和XMLFormatter分別用於格式化純文本或 XML 中的日誌記錄。
三、日誌框架log4j
(實例:http://xly3000.blog.163.com/blog/static/132424720120811358393/)
簡介:
Log4j由三個重要的組件構成:日誌信息的優先級,日誌信息的輸出目的地,日誌信息的輸出格式。日誌信息的優先級從高到低有ERROR、WARN、 INFO、DEBUG,分別用來指定這條日誌信息的重要程度;日誌信息的輸出目的地指定了日誌將打印到控制檯還是文件中;而輸出格式則控制了日誌信息的顯示內容。
主要類:
Logger - 日誌寫出器,供程序員輸出日誌信息
Appender - 日誌目的地,把格式化好的日誌信息輸出到指定的地方去
ConsoleAppender - 目的地爲控制檯的Appender
FileAppender - 目的地爲文件的Appender
RollingFileAppender - 目的地爲大小受限的文件的Appender
Layout - 日誌格式化器,用來把程序e員的logging request格式化成字符串
PatternLayout - 用指定的pattern格式化logging requst的Layout
四、SLF4J
簡單日記門面(Facade)SLF4J是爲各種loging APIs提供一個簡單統一的接口,從而使得最終用戶能夠在部署的時候配置自己希望的loging APIs實現。 Logging API實現既可以選擇直接實現SLF4J接的loging APIs如: NLOG4J、SimpleLogger。也可以通過SLF4J提供的API實現來開發相應的適配器如Log4jLoggerAdapter、JDK14LoggerAdapter。