在Glassfish上使用log4j2的多个项目

时间:2015-01-12 14:45:29

标签: glassfish log4j2

我有一个EAR项目,由3个模块/项目组成:WEB,EJB和JPA。在WEB项目中,我添加了log4j2进行日志记录。因此我将log4j2.xml文件放入WebContent / WEB-INF / direcotry。

现在,我已经完成了两个项目:开发人员版本和测试版本。不同之处主要在于项目名称。它们还在log4j2.xml文件中配置了不同的文件位置,以便写入日志。

当我只部署一个项目(例如开发人员版本)时,一切正常。但是,当我部署这两个项目时,它们都会记录到同一个文件(它始终是log4j2中从首先部署的项目中配置的文件)。 我的Glassfish版本是3.1.2.2,Log4j2版本是2.0.2。

有没有人知道如何解决它?

1 个答案:

答案 0 :(得分:0)

log4j2手册中有configuration for web applications的详细信息。

log4j2 jar文件是否也在WebProject1 / WEB-INF / lib和WebProject2 / WEB-INF / lib文件夹中(而不是在某些共享位置)?这样,log4j2类将由单独的webapp类加载器加载,并且它们可以具有单独的配置。