Weblogic中2耳的Log4j日志记录问题

时间:2010-09-08 11:17:22

标签: java log4j weblogic weblogic-10.x

我正在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>

向大家致意:)

2 个答案:

答案 0 :(得分:2)

我猜测Weblogic服务器使用的log4j库在您的两个Web应用程序中使用。

如果是这种情况,两个网络应用程序将共享一个根据Weblogic提供服务全局库的根类加载器。

如果你的网络应用程序都提供了log4j的副本,并且你可以选择在服务器类之前加载应用程序类(我不知道Weblogic但是对于WebSphere,设置是'classloader模式:父第一个/父最后一个')可能会解决你的问题。

答案 1 :(得分:0)

老实说,从这里很难说,但你可以试试这些:

1)检查两个log4j属性文件中的记录器名称是否唯一 2)我认为.properties文件没有缓存在磁盘上但仍然删除了应用程序    部署目录(两个EAR应该是分开的)