apache log4j提供各類layout對象,而後根據本身指定的layouts對象轉化日誌信息。一般來講都是應用量身定製layout對象轉換信息格式。java
全部的layout對象從Appender對象中接收一個LoggingEvent對象。而後經過LoggingEvent對象解析信息,再經過合適的ObjectRenderer得到相應的字符串。apache
最頂層的抽象類是org.apache.log4j.Layout,這是log4jAPI中layout的基類。框架
Layout類定義爲一個抽象類,咱們不可以直接使用;只能經過下面的實例使用:日誌
這個類爲全部的通常操做提供了基本的框架,以及兩個抽象方法:
public abstract boolean ignoresThrowable()code
它聲明是否把java.lang.Throwable.object看成是日誌輸出的一部分。若是layout處理這個異常對象,那麼就不會忽略這個消息;反之,就會忽略。orm
public abstract String format(LoggingEvent event)
我的自定義的layout轉換格式對象
除了這些抽象方法,layout類也提供了一系列的接口:接口
public String getContentType()
它返回了layout的類型,基類返回的是text/plain做爲默認的文本類型字符串
public String getFooter()
獲取日誌信息的尾部get
public String getHeader()
獲取日誌信息的頭部