有没有办法弄清楚Log4J从哪里挑选配置文件?我试图更改我的log4j.xml,并且更改没有反映在Log4j行为中.我删除了log4j.xml,有趣的是,Log4J仍在使用旧的行为.所以它必须选择我的命名空间中可用的一些配置文件.但问题是如何弄清楚哪一个.有没有办法做到这一点?在jar等上有很多不同的依赖项,因此其中一个必须包含一个覆盖我的更改的log4j.xml或log4j.properties.有任何想法吗?
运行应用程序时,您可以设置系统属性-Dlog4j.debug.在这种情况下,log4j将生成调试输出,并告诉您它如何解析log4j.xml的路径,例如:
log4j: Trying to find [log4j.xml] using context classloader sun.misc.Launcher$AppClassLoader@11b86e7.
log4j: Using URL [file:/C:/develop/workspace/foobar/target/classes/log4j.xml] for automatic log4j configuration.
log4j: Preferred configurator class: org.apache.log4j.xml.DOMConfigurator
Run Code Online (Sandbox Code Playgroud)
要设置的路径明确使用的系统属性-Dlog4j.configuration=file:c:/pathToFile描述这里.