log4j.properties没有从jar中获取

har*_*rsh 8 java logging log4j

我在服务器的类路径中有一个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存在?

令人惊讶的是,类路径中存在的带有axis-ant.jar的jar正在另一台服务器上成功运行并正确运行..服务器都安装了相同的java 5版本和相同版本的log4j jar

FrV*_*aBe 9

你应该看看log4j手册."默认初始化过程"部分描述了log4j如何尝试查找初始化文件并解释匹配特殊配置的可能性(例如,通过设置系统属性log4j.configuration).

如果您不想进行任何特殊配置,则必须确保配置文件是类路径中的第一个配置文件.