J'ai utilisé la journalisation SLF4J pour imprimer tous les journaux. J'utilise la dernière version de org.slf4j.
implémentation 'org.slf4j: slf4j-api: 2.0.0-alpha1'
implémentation 'org.slf4j: log4j-over-slf4j: 2.0.0-alpha1'
Mais j'obtiens l'erreur suivante et aucun journal n'est en cours d'impression.
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.
SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions prior to 1.8.
SLF4J: Ignoring binding found at [jar:file:/home/user/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.3/7c4f3c474fb2c041d8028740440937705ebb473a/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#ignoredBindings for an explanation.
Les journaux fonctionnent correctement avec l'ancienne version (1.7.25). Y a-t-il quelque chose à ajouter ou à configurer sur le projet pour que ces journaux puissent être imprimés
Réponses:
Il affichera les messages en ajoutant slf4j-log4j12 au lieu de slf4j-api
Supprimer ce qui suit
Ajouter
la source
En effet, slf4j est une abstraction qui doit être liée à d'autres bibliothèques préexistantes. Par conséquent, si vous utilisez simplement slf4j pour imprimer les journaux, cela ne fonctionnerait pas car il n'aurait pas les paramètres sur les niveaux de journalisation, etc. Ce lien donne des informations à ce sujet.
De plus, la nouvelle version de Spring Boot a une intégration par défaut avec slf4j pour la version 1.7.9
la source
Vous n'avez pas besoin d'importer une dépendance du journal lors de l' utilisation 2.x Spring Boot . Tout ce qui est requis est d'importer du Spring Boot Starter , ce que vous avez probablement déjà fait. Par exemple
spring-boot-starter-web
, qui dépend despring-boot-starter-logging
, qui tire lespring-jcl
module requis pour la journalisation avec Spring Framework.Lorsque vous utilisez des démarreurs, Logback est utilisé pour la journalisation par défaut, Log4j n'est pas requis.
Supprimez simplement toutes les références à
slf4j
votre fichier de build. Voici à quoi ressemble la référence à Spring Boot Web Starter dans le fichier build.gradle.la source