Désactiver l'enregistrement personnalisé Imprimer dans la console (log4J2)
-
21-12-2019 - |
Question
Pouvons-nous une impression de journal DSable pour certains CustMAMT créant un enregistreur?
J'ai deux enregistreurs:
-
root LOGGER -
METRICS LOGGER (qui imprime dans
Fichier )
<Appenders>
<File name="file" fileName="app.log">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
</PatternLayout>
</File>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-mm-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<logger name="metrics" level="info" additivity="true">
<AppenderRef ref="file"/>
</logger>
<root level="info">
<AppenderRef ref="STDOUT"/>
</root>
</Loggers>
Je veux désactiver les messages d'impression dans la console pour Logger de fichiers
La solution
La clé pour comprendre est ici http://logging.apache.org/log4j/2.x / manuel / configuration.html # additivité
L'enregistreur racine est un parent de l'enregistreur "Metrics".L'événement journal des "métriques" est ensuite transmis à l'appendeur de racine de racine ("stdout").Ceci est connu comme additivité.Il est possible de le désactiver en définissant l'attribut d'additivité sur l'enregistreur "métriques" sur false.
<logger name="metrics" level="info" additivity="false">
<AppenderRef ref="file"/>
</logger>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow