📅  最后修改于: 2020-11-12 05:51:34             🧑  作者: Mango
Apache log4j提供了各种布局对象,每个对象都可以根据各种布局来格式化日志数据。也可以创建一个Layout对象,以特定于应用程序的方式格式化日志数据。
所有布局对象都从Appender对象接收一个LoggingEvent对象。然后,布局对象从LoggingEvent中检索消息参数,并应用适当的ObjectRenderer以获取消息的String表示形式。
层次结构中的顶级类是抽象类org.apache.log4j.Layout 。这是log4j API中所有其他Layout类的基类。
Layout类在应用程序中被定义为抽象类,我们从不直接使用此类。相反,我们使用其子类如下:
日期布局
简单版式
XML布局
此类为所有其他Layout对象提供了所有通用操作的基本实现,并声明了两个抽象方法。
Sr.No. | Methods & Description |
---|---|
1 | public abstract boolean ignoresThrowable()
It indicates whether the logging information handles any java.lang.Throwable object passed to it as a part of the logging event. If the Layout object handles the Throwable object, then the Layout object does not ignore it, and returns false. |
2 |
public abstract String format(LoggingEvent event)
Individual layout subclasses implement this method for layout specific formatting. |
除了这些抽象方法外,Layout类还为以下方法提供了具体的实现:
Sr.No. | Methods & Description |
---|---|
1 |
public String getContentType()
It returns the content type used by the Layout objects. The base class returns text/plain as the default content type. |
2 |
public String getFooter()
It specifies the footer information of the logging message. |
3 |
public String getHeader()
It specifies the header information of the logging message. |
每个子类都可以通过重写这些方法的具体实现来返回特定于类的信息。