log4j - 架構



log4j API 遵循分層架構,每一層提供不同的物件來執行不同的任務。這種分層架構使設計靈活,易於將來擴充套件。

log4j 框架提供了兩種型別的物件。

  • 核心物件:這些是框架的必備物件。使用框架需要這些物件。

  • 支援物件:這些是框架的可選物件。它們支援核心物件執行額外但重要的任務。

核心物件

核心物件包括以下型別的物件:

Logger 物件

頂層是 Logger,它提供 Logger 物件。Logger 物件負責捕獲日誌資訊,並將它們儲存在名稱空間層次結構中。

Layout 物件

Layout 層提供用於以不同樣式格式化日誌資訊的物件。在釋出日誌資訊之前,它為 Appender 物件提供支援。

Layout 物件在以人類可讀和可重用的方式釋出日誌資訊方面起著重要作用。

Appender 物件

這是一個較低層,它提供 Appender 物件。Appender 物件負責將日誌資訊釋出到各種首選目的地,例如資料庫、檔案、控制檯、UNIX Syslog 等。

下圖顯示了 log4J 框架的元件

log4j Architecture

支援物件

log4j 框架中還有其他重要的物件在日誌框架中發揮著至關重要的作用。

Level 物件

Level 物件定義任何日誌資訊的粒度和優先順序。API 中定義了七個日誌級別:OFF、DEBUG、INFO、ERROR、WARN、FATAL 和 ALL。

Filter 物件

Filter 物件用於分析日誌資訊,並進一步決定是否應記錄該資訊。

一個 Appender 物件可以擁有多個與其關聯的 Filter 物件。如果將日誌資訊傳遞給特定的 Appender 物件,則所有與該 Appender 關聯的 Filter 物件都需要批准日誌資訊,然後才能將其釋出到附加的目的地。

ObjectRenderer

ObjectRenderer 物件專門提供傳遞給日誌框架的不同物件的字串表示形式。Layout 物件使用此物件來準備最終的日誌資訊。

LogManager

LogManager 物件管理日誌框架。它負責從系統範圍的配置檔案或配置類中讀取初始配置引數。

廣告
© . All rights reserved.