Apache Log4j 提供了多個 Layout
對象,每個根據(jù)布局的不同都可格式化日志數(shù)據(jù)。還可以創(chuàng)建一個 Layout
對象,以應(yīng)用特有的方式格式化日志。
所有 Layout
對象從 Appender
對象那里接收一個 LoggingEvent
對象,然后從 LoggingEvent
對象那里獲取信息,并使用恰當(dāng)?shù)?ObjectRenderer
對象獲取該信息的字符串形式。
位于繼承關(guān)系頂層的是抽象類 org.apache.Log4j.Layout
,這是所有 Log4j API 中 Layout
類的基類。
Layout
類是個抽象類,在應(yīng)用中我們從不直接使用該類,而是使用它的子類,如下所示:
該類對于所有其他 Layout
對象的通用操作提供了框架性的實現(xiàn),聲明了兩個抽象方法:
序號 | 方法 & 描述 |
---|---|
1 |
public abstract boolean ignoresThrowable()
該方法指明日志信息是否處理由日志事件傳來的 java.lang.Throwable 對象,如果 Layout 對象能處理 Throwable 對象,則 Layout 對象不會忽略它,并且返回 false。 |
2 |
public abstract String format(LoggingEvent event)
各 Layout 子類實現(xiàn)該方法,以定義各自的格式。 |
除了這些抽象方法,Layout
類還提供了如下的具體方法:
序號 | 方法 & 描述 |
---|---|
1 |
public String getContentType()
返回 Layout 對象使用的內(nèi)容類型?;惙祷?text/plain 作為默認內(nèi)容類型。 |
2 |
public String getFooter()
返回日志信息的腳注。 |
3 |
public String getHeader()
返回日志信息的日志頭。 |
每個子類均可覆蓋這些方法的實現(xiàn),返回各自特有的信息。