【问题标题】:log4j collision with multiple ejb containerslog4j 与多个 ejb 容器发生冲突
【发布时间】:2013-07-19 13:38:46
【问题描述】:

我已经实现了几个存储在 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

【问题讨论】:

    标签: maven-2 log4j ejb glassfish-3


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-06-24
      • 2013-11-26
      • 2020-11-06
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 2020-10-18
      • 2012-09-26
      • 1970-01-01
      相关资源
      最近更新 更多