鍍金池/ 教程/ Java/ 架構(gòu)
Logging 級(jí)別
使用文件記錄日志
PatternLayout
安裝
使用數(shù)據(jù)庫(kù)記錄日志
示例程序
架構(gòu)
Logging 方法
HTMLLayout
概述
配置
日志格式

架構(gòu)

Log4j API 采用分層架構(gòu),每一層有不同的對(duì)象,完成不同的任務(wù)。這種分層架構(gòu)讓設(shè)計(jì)變得靈活,且易于日后擴(kuò)展。

Log4j 里有兩種類(lèi)型的對(duì)象:

  • 核心對(duì)象:這是框架必需的對(duì)象,使用框架時(shí)必需用到它們。
  • 支持對(duì)象:這是框架的可選對(duì)象,它們支持核心對(duì)象做一些額外的,但并不重要的任務(wù)。

核心對(duì)象

核心對(duì)象包括如下幾種類(lèi)型:

Logger 對(duì)象

最上一層是 Logger 對(duì)象,該對(duì)象負(fù)責(zé)獲取日志信息,并存儲(chǔ)于一個(gè)分層的命名空間之中。

Layout 對(duì)象

Layout 層提供了用于以各種風(fēng)格格式化日志信息的對(duì)象,在發(fā)布日志信息之前,它為 appender 對(duì)象提供支持。

Layout 對(duì)象對(duì)于發(fā)布日志信息非常重要,它使日志變得可讀、可復(fù)用。

Appender 對(duì)象

該對(duì)象位于分層架構(gòu)中的較低一層,Appender 對(duì)象負(fù)責(zé)將日志信息發(fā)布到不同目的地,比如數(shù)據(jù)庫(kù)、文件、控制臺(tái)、Unix Syslog 等。

下圖展示了 Log4j 框架中的組件:

http://wiki.jikexueyuan.com/project/log4j/images/log4j-arch.jpg" alt="" />

支持對(duì)象

Log4j 中還有其他一些對(duì)象,同樣在框架中發(fā)揮著重要作用。

Level 對(duì)象

Level 對(duì)象定義了日志信息的粒度和優(yōu)先級(jí)。API 定義了七種級(jí)別:OFF、DEBUG、INFO、ERROR、WARN、FATAL、ALL。

Filter 對(duì)象

Filter 對(duì)象用來(lái)分析日志信息,進(jìn)而決定該條日志是否被記錄。

一個(gè) Appender 對(duì)象可對(duì)應(yīng)多個(gè) Filter 對(duì)象,當(dāng)日志信息傳給 Appender 對(duì)象時(shí),與其關(guān)聯(lián)的所有 Filter 對(duì)象需要判斷是否將日志信息發(fā)布到目的地。

ObjectRenderer

ObjectRenderer 對(duì)象負(fù)責(zé)為傳入日志框架的不同對(duì)象提供字符串形式的表示,Layout 對(duì)象使用該對(duì)象來(lái)準(zhǔn)備最終的日志信息。

LogManager

LogManager 對(duì)象管理日志框架,它負(fù)責(zé)從系統(tǒng)級(jí)的配置文件或類(lèi)中讀取初始配置參數(shù)。

上一篇:Logging 級(jí)別下一篇:示例程序