扫码一下
查看教程更方便
apache log4j 提供了各种 layout 对象,每个对象都可以根据各种布局格式化日志数据。 也可以创建一个 layout 对象,以特定于应用程序的方式格式化日志数据。
所有 layout
对象都从 appender
对象接收 loggingevent
对象。 然后,layout
对象从 loggingevent
中检索消息参数并应用适当的 objectrenderer
来获取消息的字符串表示形式。
层次结构中的顶级类是抽象类 org.apache.logging.log4j.layout
。 这是 log4j api 中所有其他布局类的基类。
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() | 它指定日志消息的标头信息。 |
每个子类都可以通过覆盖这些方法的具体实现来返回特定于类的信息。