0

我已经实现了几个存储在 EJB 容器中的 Java 应用程序,这些容器部署在同一个 Glassfish 域上。它们每个都有自己的 log4j.properties 文件,位于每个应用程序项目的资源文件夹中(它们都是 Maven 项目)。

每个 log4j.properties 文件中配置了一个不同的日志文件,但是当我部署我的应用程序时,它们最终会写入同一个日志文件。

有谁知道如何解决这个问题?:)

编辑:这是我的两个项目的 log4j.properties 文件。

首先:

log4j.rootLogger=ALL,AppFileAppender

log4j.appender.AppFileAppender=org.apache.log4j.FileAppender

log4j.appender.AppFileAppender.File=${com.sun.aas.instanceRoot}/logs/Engine.log

log4j.appender.AppFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.AppFileAppender.layout.ConversionPattern= %d [%t] %-5p %c - %m%n

log4j.logger.hesemulatorproducer=ALL,AppFileAppender
log4j.logger.org.hibernate=info

第二:

log4j.rootLogger=ALL,AppFileAppender

log4j.appender.AppFileAppender=org.apache.log4j.FileAppender

log4j.appender.AppFileAppender.File=${com.sun.aas.instanceRoot}/logs/SendEndDeviceEvents.log

log4j.appender.AppFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.AppFileAppender.layout.ConversionPattern= %d [%t] %-5p %c - %m%n

log4j.logger.hesemulatorproducer=ALL,AppFileAppender
4

1 回答 1

0

我看不到这个问题的评论链接。所以我在这个答案中要求一些澄清。这些可能有助于找到问题的根本原因。

您能否检查一下您在初始化 Log4j 时指定的配置文件路径和名称?

另外,能否请您提供为两个项目打印日志的文件?它是服务器日志还是应用程序日志文件之一?

这些项目是否部署在不同的 WAR/EAR 中?

您可以使用 org.apache.log4j.LogManager.getLoggerRepository() 打印存储库位置。

于 2013-07-19T05:38:46.240 回答