Je veux rétroadapter slf4j avec Logback dans une application héritée. La bonne chose est, l'application héritée a son propre cadre de journalisation. Donc tout ce que je devais faire est de modifier le cadre de journalisation pour se connecter à slf4j au lieu de log4j.Habillage de l'API slf4j
Cela a fonctionné comme un rêve. J'étais heureux, jusqu'à ce que j'ai remarqué l'emplacement Logback connecté pour chaque événement de journal:
Logger.java:...
Yikes! Cela n'allait pas aider beaucoup mes collègues développeurs en essayant de comprendre d'où venait un événement de journal.
Comment puis-je demander à Logback de rechercher quelques niveaux dans la pile pour que l'emplacement réel soit enregistré?
La classe de l'enregistreur est une classe utilitaire avec des méthodes comme celle-ci:
public static void debug(String clazz, String message) {
org.slf4j.Logger logger = LoggerFactory.getLogger(clazz);
logger.debug(message);
}
question similaire: http: // stackoverflow.com/questions/1486233/java-logging-show-the-source-line-number-of-the-caller-not-the-logging-helper-m – Thilo
fait ce travail quand il utilisait log4j? Je pense que depuis que vous avez mis à jour une classe de journalisation existante, vous n'avez pas ajouté d'image supplémentaire à la pile d'appels, donc la version de log4j aurait dû présenter le même problème. – Thilo
log4j expose une méthode log dans son API publique qui recherche un cadre supplémentaire dans la pile, contrairement à slf4j. Alors oui, cela a fonctionné avec log4j. –