Log4j官方文档翻译(七、日志格式化)

时间:2022-04-22
本文章向大家介绍Log4j官方文档翻译(七、日志格式化),主要内容包括Layout类型、Layout方法、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

apache log4j提供各种layout对象,然后根据自己指定的layouts对象转化日志信息。通常来说都是应用量身定制layout对象转换信息格式。

所有的layout对象从Appender对象中接收一个LoggingEvent对象。然后通过LoggingEvent对象解析信息,再通过合适的ObjectRenderer获得相应的字符串。

Layout类型

最顶层的抽象类是org.apache.log4j.Layout,这是log4jAPI中layout的基类。

Layout类定义为一个抽象类,我们不能够直接使用;只能通过下面的实例使用:

  • DateLayout
  • HTMLLayout
  • PatternLayout
  • SimpleLayout
  • XMLLayout

Layout方法

这个类为所有的一般操作提供了基本的框架,以及两个抽象方法: public abstract boolean ignoresThrowable()

它声明是否把java.lang.Throwable.object当作是日志输出的一部分。如果layout处理这个异常对象,那么就不会忽略这个消息;反之,就会忽略。

public abstract String format(LoggingEvent event)

个人自定义的layout转换格式

除了这些抽象方法,layout类也提供了一系列的接口:

public String getContentType()

它返回了layout的类型,基类返回的是text/plain作为默认的文本类型

public String getFooter()

获取日志信息的尾部

public String getHeader()

获取日志信息的头部