我有一个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。
有没有人知道如何解决它?
答案 0 :(得分:0)
log4j2手册中有configuration for web applications的详细信息。
log4j2 jar文件是否也在WebProject1 / WEB-INF / lib和WebProject2 / WEB-INF / lib文件夹中(而不是在某些共享位置)?这样,log4j2类将由单独的webapp类加载器加载,并且它们可以具有单独的配置。