【发布时间】:2011-03-23 09:12:42
【问题描述】:
我的服务器的类路径中有一个 jar,其中包含 jar 根目录上的 log4j.properties 文件,用于记录代码。当 jar 中的代码运行时,不会发生代码的日志记录。当我使用 java -Dlog4j.debug 选项分析问题时,我知道 log4j 正在加载 axis-ant.jar 的 log4j.properties 文件(这也是在我的类路径上)并使用它而不是我的 jar 的属性文件。
当我随后从类路径中删除了 axis-ant.jar 时,我的 jars log4j.properties 文件立即被选中,并记录了我的代码。
有人能解释一下为什么我的 log4j.properties 文件在 axis-ant.jar 存在时没有被加载吗?
令人惊讶的是,classpath 中存在 axis-ant.jar 的同一个 jar 正在另一台服务器上成功运行正确的日志记录。两台服务器都安装了相同的 java 5 版本和相同版本的 log4j jar
【问题讨论】: