LOG4J2: несколько регистраторов, для нескольких приложений, на разных уровнях регистрации

То, что я пытаюсь сделать, довольно просто:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
  <Appenders>
    <Console name="Console">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>

    <File name = "hibernateFile" fileName = "${artifactId}/logs/hibernate.log"> 
        <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </File>

     <File name = "springFile" fileName = "${artifactId}/logs/spring.log"> 
        <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </File>

    <File name = "rootFile" fileName = "${artifactId}/logs/root.log"> 
        <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </File>        

  </Appenders>
  <Loggers>
    <Root level="trace">
      <AppenderRef ref="Console"/>
      <AppenderRef ref="rootFile"/>
    </Root>

    <Logger name ="org.springframework" level = "debug"> 
        <AppenderRef ref = "Console" level = "info"/>
        <AppenderRef ref = "springFile" level = "debug"/>
    </Logger>

     <Logger name ="org.hibernate" level = "debug"> 
        <AppenderRef ref = "Console" level ="info"/>
        <AppenderRef ref = "hibernateFile" level = "debug"/>
    </Logger>

  </Loggers>
</Configuration>

Я хочу, чтобы в приложении Console отображались только важные сообщения, а подробные сообщения нужно направлять в приложения файлов.

Тем не менее, я не хочу фильтровать самого аппендера - так как я могу направить туда некоторые сообщения отладки или трассировки (например, когда я в разработке).

Apache FAQ предполагает, что я могу просто отфильтровать по уровню регистрации наAppenderRef, но я попробовал это, как описано в приведенном выше XML - и он все еще направляет сообщения уровня DEBUG на консоль.

Я также попытался добавить ThresholdFilter кAppenderRef, но это тоже не фильтрует.

 <Logger name ="org.hibernate" level = "debug"> 
    <AppenderRef ref = "Console">
         <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
    </AppenderRef>
    <AppenderRef ref = "hibernateFile" level = "debug"/>
</Logger>

Ответы на вопрос(1)

Ваш ответ на вопрос