log4j是一个通用的log工具。使用log4j的时候我们通常设置properties文件或者xml文件来进行log的配置。那么log4j对配置文件的加载过程是什么样的呢?下面以分析log4j的source的形式来进行说明。
一,properties文件
当用properties文件进行配置的时候,对应的src为PropertyConfigurator。这个PropertyConfigurator class继承了接口 Configurator,并实现doConfigure方法。
对properties文件进行读取的过程如下
1,把properties文件的内容读取到Properties对象中保存。
使用方法:
Properties props = new Properties();
FileInputStream istream = null;
istream = new FileInputStream(configFileName);
props.load(istream);
istream.close();
2,对读到的内容进行解析
2.1进行是否输出内部异常信息的判断 ,通过是否指定参数"log4j.debug"来判断
2.2进行是否复位所有配置信息的判断,通过是否指定参数"log4j.reset"来判断
2.3进行是否设定广域log的level的判断,通过是否指定参数"log4j.threshold"来判断
2.4进行RootLogger的设定
2.4.1 取得RootLogger
2.4.2 取得RootLogger对应的Appender
2.4.2.1取得Appender的Layout,将Layout追加到Appender中
//1 设定Layout的属性
//2 设定Appender的属性
2.4.3 将Appender追加到RootLogger中
2.5进行LoggerFactory的设定
2.5.1 取得指定参数"log4j.loggerFactory"的值,并生成Factory类的实例
2.5.2 设定生成Factory类的实例的属性
2.6进行RootLogger以外其他Logger的设定
2.6.1取得其他的category
2.6.1.1 设置category的level属性
2.6.1.2 取得category对应的Appender
取得Appender的Layout,将Layout追加到Appender中
//1 设定Layout的属性
//2 设定Appender的属性
2.6.1.3 设置category的是否继承parent的属性
2.6.1.4 设置category的输出log的渲染类
二,xml文件
当用xml文件进行配置的时候,对应的src为DOMConfigurator。这个DOMConfigurator class继承了接口
Configurator,并实现doConfigure方法。
对xml文件进行读取的过程,与对properties文件进行解析的内容大致相同.不再重复.
不同点有以下几个地方
//1 使用DOMAPI读取xml文件,并从dom中取得各个node的内容.
//2 属性的名称不一样
关键词标签:log4j,properties,xml
相关阅读
热门文章 网页设计中常用的19个Web安全字体UCenter Home防灌水设置详解
人气排行 iframe透明的解决办法log4j之配置文件加载过程分析-properties文件和xml文件提高网页打开速度的一些小技巧关于iframe内页高度自适应网页设计中常用的19个Web安全字体网页制作与CSS的UTF-8和GB2312编码问题怎样把网站的头尾部分和导航部分作成静态公用?网页设计中的各种分辨率下的标准尺寸
查看所有0条评论>>