java - tomcat、2 个 webapps、2 个 log4js,但两个应用程序都记录到一个文件

标签 java tomcat log4j documentum

为了详细说明,我有一个运行 Java 1.6.0_27 的 Tomcat 服务器版本 7.0.27。

我有两个 war,每个都有自己的 log4j jar,也使用 slf4j 和 slf4j-log4j。每个 war 都有它自己的配置文件(log4j.xml)。

war 1 应该使用文件 log-1.log 而 war 2 应该使用文件 log-2.log 但两者都登录到 log-1.log。

我检查过 tomcat 安装中没有其他 log4j jar,所以我不确定问题出在哪里。我还关闭了共享类加载,但这没有任何区别。我的下一步是打开详细的类加载器日志记录和/或开始调试 log4j 但也许这里有人知道这是为什么并且可以节省我一些时间。感谢您对此的任何意见。

更新:

好吧,我想我得到了这个。 log4j xml 文件很好。在执行 verbose:class 之后,我可以看到 log4j.jar 只被加载一次,并且没有从任何一个 Web 应用程序加载。

我正在使用 Documentum。他们有一个运行时 jar 需要使用他们的库,这是一个带有 list 文件的空 jar。 list 指向一堆 jar 。换句话说,他们不使用 maven...无论如何...其中一个 jar 恰好是在 Documentum 安装中找到的 logj4。所以似乎两个 webapps 都在使用那个。我认为这是问题所在。待确认...

最佳答案

如果您将 Documentum 的运行时 jar 放在顶级类路径中,并且该运行时 jar 引用 log4j.jar,那么它只会加载一次。不过,您不必使用该运行时 jar,或者您可以只在您的 Documentum .war 中使用它,如果它不是 Documentum。

关于java - tomcat、2 个 webapps、2 个 log4js,但两个应用程序都记录到一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11861963/

相关文章:

jsf - 升级问题 - JSF、Myfaces、Trinidad 和 Facelets 之间有什么联系?

Java - 访问 Tomcat/Jersey url 给出 404 Not Found

java - SLF4J:加载类 "org.slf4j.impl.StaticLoggerBinder"失败。在一个 Maven 项目中

java - 获取从中调用方法以在 Java 中进行日志记录的类的名称

java - log4j2 ERROR异常添加回车?

java - 在 Java 中将变量范围扩展到大括号之外

java - 使用Java将文件从SFTP服务器传输到本地系统

java - 在eclipse tomcat上发布过滤后的web.xml

java - 图像为空时数据未插入数据库

java - 根据空格在 java 中拆分一个字符串,用双引号和单引号转义那些空格,前面是\