2016-05-04 3 views
0

私はlog4j 2、バージョン2.4でJboss 6.4で作業しています。私のlog4j2.xmlはWEB-INF/classesにあります。 RollingFileの名前= "myLog"に正しくログすることができますが、理解できないのは、コンソールのアペンダーの "myLog"の情報ログを表示する理由です。Log4j 2間違ったアペンダーでログイン

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つのルートロガーが宣言されています。 1つしか存在できません。どの定義が勝つかは未定義です。