Log4j 日志输出格式
精华
小牛编辑
123浏览
2023-03-14
Apache Log4j 支持各种Layout对象,每个对象都可以根据各种布局格式化日志数据。我们还可以创建一个 Layout 对象,以特定于应用程序的方式格式化日志数据。
所有 Layout 对象都从Appender对象接收一个LoggingEvent对象。然后 Layout 对象从 LoggingEvent 中检索消息参数并应用适当的 ObjectRenderer 来获取消息的字符串表示。
Log4j Layout类型
log4j 中有一个顶级抽象类是 org.apache.log4j.Layout。它是 log4j API 中所有其他Layout类的基类。
Layout 类被定义为应用程序中的抽象类;我们不需要直接使用这个类;相反,我们处理如下子类:
- DateLayout
- HTMLLayout
- PatternLayout
- SimpleLayout
- XMLLayout
Log4j Layout方法
这个类提供了所有其他对象的所有通用操作的框架实现,并声明了两个抽象方法:
方法 | 描述 |
---|---|
public abstract boolean ignoresThrowable() | 此方法定义日志信息是否处理作为日志事件一部分传递给它的任何java.lang.Throwable对象。如果 Layout 对象管理 Throwable 对象,则 Layout 对象不会忽略它并返回 false。 |
public abstract String format(LoggingEvent event) | 此方法由用于布局特定格式的各个布局子类实现。 |
除了这些抽象方法之外,Layout 类还为下面给出的方法提供了具体实现:
方法 | 描述 |
---|---|
public String getContentType() | 此方法返回 Layout 对象使用的内容类型。基类返回 text 或 plain 作为默认内容类型。 |
public String getFooter() | 该方法用于指定日志消息的页脚信息。 |
public String getHeader() | 该方法用于指定日志消息的头信息。 |
每个子类都可以通过覆盖这些方法的具体实现来返回与类相关的信息。