我正在Weblogic 10,A和B中部署2个耳朵。在这两个耳中我都有一个“log4j.properties”文件。在启动时,当第一只耳朵加载时,日志到达正确的文件“A.log”,但是当第二只耳朵加载时,所有日志都会转到“B.log”文件,甚至是与之相关的日志。第一只耳朵。 我错过了什么......有什么想法吗?
由于
编辑/解决方案: 类加载器问题。 添加到weblogic-application.xml:
<wls:prefer-application-packages>
<wls:package-name>org.apache.log4j.*</wls:package-name>
</wls:prefer-application-packages>
向大家致意:)
答案 0 :(得分:2)
我猜测Weblogic服务器使用的log4j库在您的两个Web应用程序中使用。
如果是这种情况,两个网络应用程序将共享一个根据Weblogic提供服务全局库的根类加载器。
如果你的网络应用程序都提供了log4j的副本,并且你可以选择在服务器类之前加载应用程序类(我不知道Weblogic但是对于WebSphere,设置是'classloader模式:父第一个/父最后一个')可能会解决你的问题。
答案 1 :(得分:0)
老实说,从这里很难说,但你可以试试这些:
1)检查两个log4j属性文件中的记录器名称是否唯一 2)我认为.properties文件没有缓存在磁盘上但仍然删除了应用程序 部署目录(两个EAR应该是分开的)