我正在从log4j 1.x升级到log4j 2,并将我的log4j.xml配置文件更新为新的log4j2.xml配置 . 我正在跑maven,spring和mule .
运行测试maven构建时,不会拾取log4j2.xml文件 . 但是,如果我重命名文件log4j2-test.xml,它将被拾取(例如,具有自定义PatternLayout的控制台 Logger 在第二种情况下正常工作,但在第一种情况下使用默认配置) .
为什么log4j会选择log4j2-test.xml而不是log4j2.xml?
1 回答
由于
log4j2-test.xml
的higher load precedence比log4j2.xml
好,因此您的类路径上的某个地方可能还有另一个log4j2配置文件,它覆盖了log4j2.xml
. 通过在运行maven测试版本时执行以下代码,尝试查找获取conf文件的位置: