J'essaye d'utiliser SLF4J (avec log4jliaison) pour la première fois.
Je voudrais configurer 3 enregistreurs nommés différents qui peuvent être retournés par un LoggerFactory qui enregistrera différents niveaux et enverra les messages à différents appenders:
- Logger 1 "FileLogger" enregistre DEBUG et ajoute à
DailyRollingFileAppender - Logger 2 "TracingLogger" enregistre TRACE + et ajoute à un
JmsAppender - Logger 3 "ErrorLogger" enregistre ERROR + et ajoute à un autre
JmsAppender
De plus, je veux qu'ils soient configurés par programme (en Java, par opposition à XML ou à un log4j.propertiesfichier).
J'imagine que, normalement, je définirais ces Loggers quelque part dans un code d'amorçage, comme une init()méthode. Cependant, parce que je veux utiliser slf4j-log4j, je ne sais pas où je pourrais définir les enregistreurs et les rendre disponibles au chemin de classe.
Je ne pense pas que ce soit une violation de l'objectif sous-jacent de SLF4J (en tant que façade), car mon code utilisant l'API SLF4J ne saura jamais que ces enregistreurs existent. Mon code fait juste des appels normaux à l'API SLF4J, qui les transmet ensuite aux enregistreurs log4j qu'il trouve sur le chemin de classe.
Mais comment configurer ces Log4j Loggers sur le chemin de classe ... en Java?!