log4j - 日志格式化



Apache log4j 提供了各种Layout对象,每个对象都可以根据不同的布局格式化日志数据。也可以创建以应用程序特定方式格式化日志数据的 Layout 对象。

所有 Layout 对象都从Appender对象接收LoggingEvent对象。然后,Layout 对象从 LoggingEvent 中检索消息参数,并应用相应的 ObjectRenderer 获取消息的字符串表示形式。

Layout 类型

层次结构中的顶级类是抽象类org.apache.log4j.Layout。这是 log4j API 中所有其他 Layout 类的基类。

Layout 类在应用程序中被定义为抽象类,我们永远不会直接使用此类;相反,我们使用其子类,如下所示

Layout 方法

此类提供了所有其他 Layout 对象中所有常见操作的骨架实现,并声明了两个抽象方法。

序号 方法及描述
1 public abstract boolean ignoresThrowable()

它指示日志信息是否处理作为日志事件的一部分传递给它的任何 java.lang.Throwable 对象。如果 Layout 对象处理 Throwable 对象,则 Layout 对象不会忽略它,并返回 false。

2 public abstract String format(LoggingEvent event)

各个 Layout 子类实现此方法以进行特定于布局的格式化。

除了这些抽象方法之外,Layout 类还为以下列出的方法提供了具体实现

序号 方法及描述
1 public String getContentType()

它返回 Layout 对象使用的内容类型。基类返回 text/plain 作为默认内容类型。

2 public String getFooter()

它指定日志消息的页脚信息。

3 public String getHeader()

它指定日志消息的页眉信息。

每个子类都可以通过覆盖这些方法的具体实现来返回特定于类的信息。

广告