2016-05-04 60 views
0

我正在使用log4j 2,版本2.4在Jboss 6.4上,我的log4j2.xml位于WEB-INF /放置的类中。我可以在没有关于我的log4j配置错误的情况下部署我的战争,并且我可以在我的RollingFile name =“myLog”中正确登录,但是我不明白的是为什么在我的控制台appen中出现“myLog”的信息日志Log4j 2登录错误的appender

private static final Logger loggerBatch = LogManager.getLogger("my.test"); 

loggerBatch.info("test log"); 

配置:

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="WARN"> 
    <Appenders> 
     <Console name="Console" target="SYSTEM_OUT"> 
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /> 
     </Console> 
     <RollingFile name="myLog" fileName="C:\\Workarea\\my.log" 
        filePattern="C:\\Workarea\\myLog-%d{dd-MM-yyyy}-%i.log" 
        append="true"> 
      <PatternLayout> 
       <Pattern>%d %p %c [%t] %m%n</Pattern> 
      </PatternLayout> 
      <Policies> 
       <SizeBasedTriggeringPolicy size="5MB"/> 
      </Policies> 
      <DefaultRolloverStrategy max="5"/> 
     </RollingFile> 
    </Appenders> 

    <Loggers> 
     <Logger name="my.test"> 
      <AppenderRef ref="myLog" level ="info"/> 
     </Logger> 
     <Root level="debug"> 
      <AppenderRef ref="Console" /> 
     </Root> 
     <Root level="error"> 
      <AppenderRef ref="Console" /> 
     </Root> 
     <Root level="info"> 
      <AppenderRef ref="Console" /> 
     </Root> 
    </Loggers> 
</Configuration> 

回答

0

检查加设置。这将解决问题

<Logger name="my.test" additivity="false"> 
0

除了安德烈的回答,你已经宣布了3个根记录器。只能有一个。哪一个定义将获胜是未定义的。