2017-07-13 52 views
0

也许我只是完全错过了一些东西,但我正尝试在JBoss 7 EAP中配置log4j,主要目标是将应用程序(WAR)日志消息解析为独特的文件。使用共享模块的JBoss 7 EAP应用程序特定日志记录

我们的环境将Spring(3.X)配置为模块,每个WAR(我们称之为WAR A和WAR B)都有自己的Spring的jboss部署描述符以及log4j.xml。

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2"> 
    <deployment> 
     <dependencies> 
      <module name="org.springframework.spring" slot="3.2" meta-inf="export" export="true" /> 
     </dependencies> 
    </deployment> 
</jboss-deployment-structure> 


log4j.rootLogger = INFO, FILE 
log4j.category.org.springframework=DEBUG 
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.FILE.File=${jboss.server.log.dir}/webapp_a.log 
log4j.appender.FILE.ImmediateFlush=true 
log4j.appender.FILE.Threshold=debug 
log4j.appender.FILE.Append=true 
log4j.appender.FILE.DatePattern='.' yyyy-MM-dd-a 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.conversionPattern=%d %-5p (%-6t) [%X{IP}] [%c] %m%n 

每个应用程序创建自己的日志文件,但所有的春节日志写入到JBoss的server.log,而不是应用程序特定的日志,因为我期望的那样。这个想法是我想只看到日志文件中与应用程序相关的弹簧日志

我是否错过了一些完全明显的东西,或者真的只是不理解类加载在JBoss 7中的工作方式,甚至可能。谢谢

回答

0

这是因为您已将Spring安装为模块。模块通过通过日志子系统配置的系统日志上下文进行日志记录。

由于org.springframework.spring使用它自己的类加载器,你真的不希望org.springframework.spring模块记录应用程序日志上下文。原因是任何应用程序首先配置记录器都会配置任何静态记录器。

相关问题