我被要求从属性样式配置转移到xml样式.这个过程本身很简单,并没有给我带来任何麻烦,我只是好奇为什么我被问到这个问题,我找到了原因.我找到了这篇不错的帖子为什么选择XML over Log4J配置的属性文件?(超过3年,但仍然是我能找到的最丰富的信息),这指向了这个更老的教程.他们说
属性可以由属性文件或XML文件定义.
Log4j查找名为log4j.xml的文件,然后查找名为log4j.properties的文件.两者都必须放在src文件夹中.
我检查了一下,与声明相反,发现Log4j首先查找属性文件,第二次查找xml.实际上,如果我将两者保存在同一文件夹中,则输出将根据属性文件进行格式化.那么,我是否误解了这一说法?这完全错了吗?这个语句是针对log4j 1.2.14进行的,而我在log4j 1.2.17上,是否有可能log4j团队改变了优先级?我找不到任何相关文档,但由于xml看起来是配置log4j的首选方式,因此它将是一个奇怪的趋势反转
FrV*_*aBe 22
看看JavaDoc.PropertyConfiguratorClass(log4j.properties)的文档指出了这一点
PropertyConfigurator不处理DOMConfigurator支持的高级配置功能,例如支持自定义ErrorHandlers,嵌套的appender,如AsyncAppender等.
因此DOMConfigurator(log4j.xml)提供了高级选项.
除此之外,您可以使用提供的log4j.dtd对log4j.xml文件进行(至少一个简单的)有效性检查.
如果您不使用高级功能,则无需从属性更改为xml文件.
你真正应该考虑的是从log4j更改为log4j 2 beta甚至是 slf4j.log4j的开发已经停止,它的创始人(@Ceki)发明了slf4j.
| 归档时间: |
|
| 查看次数: |
34031 次 |
| 最近记录: |