web-dev-qa-db-fra.com

Comment configurer la journalisation commune pour utiliser la déconnexion?

Nous utilisons slf4j + logback, et il se trouve que certaines bibliothèques tierces utilisent la journalisation des communs. Comment le configurer pour utiliser la déconnexion?

51
Artem

La réponse est de ne pas utiliser commons-logging.jar, car SLF4J a été conçu pour faire ce que commons-logging fait mais mieux. Comme @MahdeTo le fait référence, vous devez utiliser jcl-over-slf4j.jar.

Consultez la documentation du site Web slf4j sur la migration de commons-logging .

49
Spencer Kormos

Je tombe aussi sur cette question et j'ai découvert jcl-over-slf4j.jar en effet peut résoudre le problème, je ne pouvais pas comprendre pourquoi commons-logging ne pouvait pas utiliser logback automatiquement, car commons-logging est l'interface du journal et logback est l'implémentation, ils devraient s'intégrer automatiquement, jusqu'à ce que je trouve this :

L'Apache Commons Logging (JCL) fournit une interface Log qui est conçue pour être à la fois légère et une abstraction indépendante d'autres boîtes à outils de journalisation. Il fournit au développeur de middleware/outillage une abstraction de journalisation simple, qui permet à l'utilisateur (développeur d'application) de connecter une implémentation de journalisation spécifique.

JCL fournit des implémentations de journaux à enveloppe mince pour d'autres outils de journalisation, notamment Log4J, Avalon LogKit (l'infrastructure de journalisation d'Avalon Framework), JDK 1.4 et une implémentation d'API de journalisation JDK 1.4 (JSR-47) pour les systèmes antérieurs à 1.4. L'interface est étroitement liée à Log4J et LogKit.

Évidemment, toutes les interfaces de journalisation ne peuvent pas bien s'intégrer à l'implémentation des journaux, ce qui signifie que si vous voulez vraiment utiliser logback, jcl-over-slf4j.jar est votre seule solution maintenant parce que JCL ne supporte que Log4J, Logkit, JDK 1.4.

12
GMsoF

Ajoutez simplement jcl-over-slf4j aux dépendances de votre projet (vérifiez la version actuelle sur https://search.maven.org/search?q=g:org.slf4j%20AND%20a:jcl-over-slf4j&core=gav =)

3
Lu55

pour tous ceux qui veulent garder la taille finale de l'emballage plus petite; check-out mvn dependency:tree résultat de votre projet et, le cas échéant, dépendance à commons-logging existe, excluez-les également. Depuis le jcl-over-slf4j.jar contient à la fois les classes Log et LogFactory avec exactement la même structure de paquet, ces pots de journalisation des communs seront supplémentaires sur votre paquet final.

0
Olgun Kaya