log4j架構

Log4j API設計爲分層結構,其中每一層提供了不同的對象,對象執行不同的任務。這使得設計靈活,根據將來需要來擴展。

有兩種類型可用在Log4j的框架對象。

  • 核心對象: 框架的強制對象和框架的使用。

  • 支持對象: 框架和支持體核心對象,可選的對象執行另外重要的任務。

核心對象:

Logger對象:

頂級層的Logger,它提供Logger對象。Logger對象負責捕獲日誌信息及它們存儲在一個空間的層次結構。

佈局對象:

該層提供其用於格式化不同風格的日誌信息的對象。佈局層提供支持Appender對象到發佈日誌信息之前。

佈局對象的發佈方式是人類可讀的及可重複使用的記錄信息的一個重要的角色。

Appender對象:

下位層提供Appender對象。Appender對象負責發佈日誌信息,以不同的首選目的地,如數據庫,文件,控制檯,UNIX系統日誌等。

以下是顯示Log4J框架的不同組件的虛擬圖:

Log4j

支持對象:

log4j框架的其他重要的對象起到日誌框架的一個重要作用:

Level對象:

級別對象定義的任何記錄信息的粒度和優先級。有記錄的七個級別在API中定義:OFF, DEBUG, INFO, ERROR, WARN, FATAL 和 ALL

Filter對象:

過濾對象用於分析日誌信息及是否應記錄或不用這些信息做出進一步的決定。

一個appender對象可以有與之關聯的幾個Filter對象。如果日誌記錄信息傳遞給特定Appender對象,都和特定Appender相關的Filter對象批准的日誌信息,然後才能發佈到所連接的目的地。

對象渲染器:

ObjectRenderer對象是一個指定提供傳遞到日誌框架的不同對象的字符串表示。這個對象所使用的佈局對象來準備最後的日誌信息。

日誌管理:

日誌管理對象管理的日誌框架。它負責從一個系統級的配置文件或配置類讀取初始配置參數。