Comment activer la connexion dans org.slf4j pour la version: «2.0.0-alpha1» dans Spring Boot

11

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

r123
la source
Pourriez-vous partager votre fichier POM ici? Cela aidera à comprendre quelles dépendances sont utilisées
user2281204

Réponses:

1

Il affichera les messages en ajoutant slf4j-log4j12 au lieu de slf4j-api

Supprimer ce qui suit

implementation 'org.slf4j:slf4j-api:2.0.0-alpha1'
implementation 'org.slf4j:log4j-over-slf4j:2.0.0-alpha1'

Ajouter

implementation group: 'org.slf4j', name: 'slf4j-log4j12', version: '+'
SST
la source
0

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

user2281204
la source
0

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 de spring-boot-starter-logging, qui tire le spring-jclmodule 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 à slf4jvotre fichier de build. Voici à quoi ressemble la référence à Spring Boot Web Starter dans le fichier build.gradle.

compile("org.springframework.boot:spring-boot-starter-web")
dbaltor
la source