Log4j2 Filtre de niveau particulier dans apender

Ce filtre dois-je utiliser, pour définir notamment le niveau pour être connecté avec apender? Par exemple:

java:

LOGGER.debug("Debug message");
LOGGER.info("Info message");
LOGGER.warn("Warn message");
LOGGER.error("Error message");
LOGGER.fatal("Fatal message");

log4j2.xml:

<Configuration>
    <Appenders>
        <Console name="info-stdout-message">
            <PatternLayout pattern="[%logger{36}] %message %n" />
            <ThresholdFilter level="info"/>
        </Console>

        <Console name="detailed-stdout-message">
            <PatternLayout pattern="[%logger{36}] [%level] %message %n" />
        </Console>

        <File name="file-appender" fileName="logs/debug.log">
            <PatternLayout pattern="%d{HH:mm:ss dd.mm} [%t] [%-5level] %logger{36} - %msg %n" />
        </File>
    </Appenders>

    <Loggers>
        <Root level="debug">
            <AppenderRef ref="file-appender" level="debug" />
            <AppenderRef ref="info-stdout-message" level="info"/>
            <AppenderRef ref="detailed-stdout-message" level="info"/>
        </Root>
    </Loggers>
</Configuration>

Le fichier de sortie est très bien, mais dans la console j'ai comme résultat:

[application.Main] [INFO] Info message
[application.Main] Info message
[application.Main] [WARN] Warn message
[application.Main] Warn message
[application.Main] [ERROR] Error message
[application.Main] Error message
[application.Main] [FATAL] Fatal message
[application.Main] Fatal message

mais j'ai besoin de info-stdout-message appender à la sortie des messages d'information, tandis que detailed-stdout-message à la production de tous SAUF de l'INFO. Donc la sortie de la console devrait ressembler à:

[application.Main] Info message
[application.Main] [WARN] Warn message
[application.Main] [ERROR] Error message
[application.Main] [FATAL] Fatal message

Ne pouvez pas savoir comment prévenir les filtres de niveau respect de l'héritage. Est-il possible de faire cela?

Est-il un moyen de le faire par programmation au lieu de faire le fichier de configuration de définir le niveau de filtrage ?

OriginalL'auteur ovnia | 2014-07-11