📅  最后修改于: 2021-01-06 09:10:51             🧑  作者: Mango
Apache log4j支持各种Layout对象,每个对象都可以根据各种布局来格式化日志数据。我们还可以创建一个Layout对象,以特定于应用程序的方式格式化日志数据。
所有布局对象都从Appender对象接收一个LoggingEvent对象。然后,布局对象从LoggingEvent中检索message参数,并应用适当的ObjectRenderer以获得消息的String表示形式。
log4j中有一个顶级抽象类是org.apache.log4j.Layout。它是log4j API中所有其他布局类的基类。
Layout类被定义为应用程序中的抽象类。我们不需要直接使用此类。相反,我们处理以下子类:
此类提供所有其他对象之间所有通用操作的基本实现,并声明两个抽象方法:
S.No. | Methods | Description |
---|---|---|
1. | public abstract boolean ignoresThrowable() | This method defines whether the logging information handles any java.lang.Throwable object passed to it as a part of the logging event. If the Layout objects manage the Throwable object, then the Layout object does not ignore it and returns false. |
2. | public abstract String format(LoggingEvent event) | This method is implemented by individual layout subclasses for layout specific formatting. |
除了这些抽象方法之外,Layout类还为以下给出的方法提供了具体的实现:
S.No. | Methods | Description |
---|---|---|
1. | public String getContentType() | This method returns the content type used by the Layout objects. The base class returns text or plain as the default content type. |
2. | public String getFooter() | This method is used to specify the footer information of the logging message. |
3. | public String getHeader() | This method is used to specify the header information of the logging message. |
每个子类都可以通过重写这些方法的具体实现来返回与类有关的信息。