分类 log4j 下的文章

Layout of Log4j

本文档使用Log4j版本为1.2.17

Layout of Log4j part2

Layout of Log4j part3

1. Layout介绍

Log4j Layout主要用来控制日志的序列化格式,比如时间、线程号、日志消息对齐方式等,是log4j体系结构中的核心组成部分之一。

Layout抽象类声明为:

public abstract class Layout implements OptionHandler

Layout实现了OptionHandler接口,OptionHandler仅包含一个方法activateOptions()。对实现了OptionHandler接口的模块,调用属性setter方法后,log4j的配置器类会调用此模块的activateOptions实现以激活配置。OptionHandler存在的原因是有些属性彼此依赖,在它们在全部加载完成之前是无法激活的,这个方法用于在模块变为激活和就绪之前用来执行任何必要任务的机制。比如:

某模块有字符串属性fileName属性,表示log4j用户配置的写出日志文件名,使用前需要创建File对象获取文件写出IO流具体则是由activateOptions完成文件的打开等,具体见log4j的FileAppender实现中对文件名和文件IO的操作。

Layout类的方法或接口如下,abstract修饰的需要具体子类实现:

Continue Reading...