log4j: journaliser la sortie d'une classe spécifique vers un appender spécifique
161
J'utilise log4j et je souhaite acheminer la sortie de certains enregistreurs vers des fichiers spécifiques.
J'ai déjà plusieurs appenders en place. Maintenant, pour faciliter le débogage, je veux dire à log4j que la sortie générée par une classe spécifique (par exemple foo.bar.Baz) doit être écrite dans un fichier journal spécifique.
ahh - aussi simple que cela! Merci! Le paramètre log4j.additivity.foo.bar.Baz = false impose-t-il que la sortie de Baz n'apparaisse pas dans l'appender du rootLogger?
gubrutz
3
à quelle version de log4J s'agit-il? J'essaie de trouver la configuration xml pour faire la même chose pour log4j version 1.2.17
AC
1
@RodrigoGurgel oui, rien d'inhabituel là
Maurice Perry
4
@dwjohnston définissant l'additivité sur false empêchera l'enregistreur de se connecter aux appenders de ses ancêtres (c'est vrai par défaut), Dans ce cas, si l'additivité avait été laissée à true, la journalisation dans l'appender Baz aurait écrit dans les deux fichiers.
Maurice Perry
1
des pensées sur la configuration xml?
Igor Donin
21
Voici une réponse concernant la configuration XML, notez que si vous ne donnez pas au fichier appender, ConversionPatternil créera un fichier de 0 octet et n'écrira rien:
Voici une réponse concernant la configuration XML, notez que si vous ne donnez pas au fichier appender,
ConversionPattern
il créera un fichier de 0 octet et n'écrira rien:la source
<appender-ref ref="bdfile"/>
de<root>
- sinon vous verrez tout votre journal copié dans ce fichier également.<logger>...
élément. Spécifiez la classe ou le package comme nom et l'appender comme appender de fichier.