为了详细说明,我有一个运行 Java 1.6.0_27 的 Tomcat 服务器版本 7.0.27。
我有两场战争,每场都有自己的 log4j jar,也使用 slf4j 和 slf4j-log4j。每个战争都有自己的配置文件(log4j.xml)。
战争 1 应该使用文件 log-1.log,战争 2 应该使用文件 log-2.log,但两者都登录到 log-1.log。
我已经检查过tomcat安装中没有其他log4j jar,所以我不确定问题出在哪里。我还关闭了共享类加载,但这并没有什么区别。我的下一步是打开详细的类加载器日志记录和/或开始调试 log4j,但也许这里有人知道这是为什么并且可以节省我一些时间。感谢您对此的任何意见。
更新:
好吧,我想我得到了这个。log4j xml 文件很好。在做了详细的:类之后,我可以看到 log4j.jar 只被加载一次,并且从两个 Web 应用程序中都没有加载。
我正在使用 Documentum。他们有一个运行时 jar 需要使用他们的库,这是一个带有清单文件的空 jar。清单指向一堆罐子。换句话说,他们不使用 maven ......无论如何......其中一个 jar 恰好是在 Documentum 安装中找到的 logj4。所以看起来两个 webapps 都在使用那个。我认为这是问题所在。待确认...