[java理論篇]--java日誌

更多詳細專業知識請見:http://hey-hey.net/

一、日誌

   日誌系統框架可以分爲日誌記錄模塊和日誌輸出模塊兩大部分。日誌記錄模塊負責創建和管理日誌記錄器(Logger),每一個Logger對象負責按照不同的級別(LoggerLevel)接收各種記錄了日誌信息的日誌對象(LogItem),Logger對象首先獲取所有需要記錄的日誌,並且同步地將日誌分派給日誌輸出模塊。日誌輸出模塊則負責日誌輸出器(Appender)的創建和管理,以及日誌的輸出。系統中允許有多個不同的日誌輸出器,日誌輸出器負責將日誌記錄到存儲介質當中。

204352138.jpg


二、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,分別用來指定這條日誌信息的重要程度;日誌信息的輸出目的地指定了日誌將打印到控制檯還是文件中;而輸出格式則控制了日誌信息的顯示內容。

204409827.jpg

主要類:

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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章