2016-05-04 13 views
0

Ich arbeite mit Log4j 2, Version 2.4 auf Jboss 6.4, meine log4j2.xml ist in WEB-INF/Klassen platziert. Ich kann meinen Krieg ohne Fehler über meine log4j-Konfiguration bereitstellen, und ich kann ordnungsgemäß in meinem RollingFile name = "myLog" anmelden, aber etwas, das ich nicht verstehe, warum die Protokolle der Info für "myLog" in meiner Konsole AppenderLog4j 2 Einloggen in den falschen Appender

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

loggerBatch.info("test log"); 

Config:

<?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> 

Antwort

0

Ihre additivity Einstellungen überprüfen. Das behebt das Problem

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

Zusätzlich zu Andreys Antwort haben Sie 3 Stammlogger deklariert. Da kann nur einer sein. Welche der Definitionen gewinnt, ist undefiniert.