log4j日志格式


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

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

布局类型

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

布局类在应用程序中定义为抽象,我们从不直接使用此类; 相反,我们使用它的子类,如下所示:

  • DateLayout

  • HTMLLayout

  • PatternLayout

  • SimpleLayout

  • XMLLayout

布局方法

该类提供所有其他布局对象的所有常用操作的框架实现,并声明两个抽象方法。

Sr.No. 方法和说明
1 public abstract boolean ignoresThrowable()
它指示日志记录信息是否处理作为日志记录事件的一部分传递给它的任何java.lang.Throwable对象。如果Layout对象处理Throwable对象,则Layout对象不会忽略它,并返回false。
2 public abstract String format(LoggingEvent event)
个别布局子类实现此方法以进行布局特定的格式化。

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

Sr.No. 方法和说明
1 public String getContentType()
它返回布局对象使用的内容类型。基类将text / plain作为默认内容类型返回。
2 public String getFooter()
它指定日志消息的页脚信息。
3 public String getHeader()
它指定日志消息的标题信息。

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