gpt4 book ai didi

log4j.properties 与 log4j.xml

转载 作者:行者123 更新时间:2023-12-02 08:20:22 24 4
gpt4 key购买 nike

我被要求从属性样式配置转移到 xml 样式。这个过程本身很简单,并没有给我带来任何麻烦,我只是好奇为什么有人问我这个问题,我寻找原因。我发现这篇好文章Why chose XML over properties files for Log4J configuration? (超过 3 年了,但仍然是我能找到的最有信息的),它指向 this even older tutorial 。他们指出

Properties can be defined by a properties file or by an XML file.

Log4j looks for a file named log4j.xml and then for a file named log4j.properties. Both must be placed in the src folder.

我检查了一下,与声明相反,发现 Log4j 首先查找属性文件,然后第二次查找 xml。事实上,如果我将两者保留在同一文件夹中,则输出将根据属性文件进行格式化。那么,我是否误解了该声明?难道这根本就是错误的吗?该声明已针对 log4j 1.2.14 做出,而我在 log4j 1.2.17 上,log4j 团队是否可能更改了优先级?我找不到任何相关文档,但这将是一个奇怪的趋势反转,因为 xml 看起来是配置 log4j 的首选方式

最佳答案

查看 JavaDoc。 PropertyConfiguratorClass 的文档(log4j.properties) 指出

The PropertyConfigurator does not handle the advanced configuration features supported by the DOMConfigurator such as support custom ErrorHandlers, nested appenders such as the AsyncAppender, etc.

所以 DOMConfigurator (log4j.xml) 提供高级选项。

除此之外,您还可以使用提供的 log4j.dtd 对 log4j.xml 文件进行(至少是简单的)有效性检查。 .

如果您不使用高级功能,则无需将属性更改为 xml 文件。

你真正应该考虑的是从 log4j 更改为 log4j 2 beta甚至 slf4j 。 log4j 的开发已经停止,它的创始人 (@Ceki) 发明了 slf4j。

关于log4j.properties 与 log4j.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14497787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com