日志格式
Apache Log4j 提供了多个 Layout
对象,每个根据布局的不同都可格式化日志数据。还可以创建一个 Layout
对象,以应用特有的方式格式化日志。
所有 Layout
对象从 Appender
对象那里接收一个 LoggingEvent
对象,然后从 LoggingEvent
对象那里获取信息,并使用恰当的 ObjectRenderer
对象获取该信息的字符串形式。
Layout 类型
位于继承关系顶层的是抽象类 org.apache.Log4j.Layout
,这是所有 Log4j API 中 Layout
类的基类。
Layout
类是个抽象类,在应用中我们从不直接使用该类,而是使用它的子类,如下所示:
- DateLayout
- HTMLLayout
- PatternLayout
- SimpleLayout
- XMLLayout
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()
返回日志信息的日志头。 |
每个子类均可覆盖这些方法的实现,返回各自特有的信息。
上一篇: Logging 级别
下一篇: 使用文件记录日志