Come abilitare la registrazione in org.slf4j per la versione: '2.0.0-alpha1' in Spring boot


11

Ho usato la registrazione SLF4J per stampare tutti i registri. Sto usando l'ultima versione di org.slf4j.

implementazione 'org.slf4j: slf4j-api: 2.0.0-alpha1'

implementazione 'org.slf4j: log4j-over-slf4j: 2.0.0-alpha1'

Ma sto ricevendo il seguente errore e inoltre non vengono stampati registri.

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.

I registri funzionano correttamente con la versione precedente (1.7.25). C'è qualcosa che deve essere aggiunto o configurato sul progetto in modo che questi registri possano essere stampati


Potresti condividere il tuo file POM qui? Aiuterà a capire quali dipendenze vengono utilizzate
user2281204

Risposte:


1

Stampa i messaggi aggiungendo slf4j-log4j12 invece di slf4j-api

Rimuovi quanto segue

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

Inserisci

implementation group: 'org.slf4j', name: 'slf4j-log4j12', version: '+'

0

Questo perché slf4j è un'astrazione che deve essere associata ad altre librerie preesistenti. Quindi, se stai semplicemente usando slf4j per stampare i log, non funzionerebbe perché non avrebbe le impostazioni sui livelli di log ecc. Questo link fornisce alcune informazioni sullo stesso.

Inoltre, la nuova versione di Spring Boot ha un'integrazione predefinita con slf4j per la versione 1.7.9


0

Non è necessario importare qualsiasi dipendenza di registro quando si utilizza Primavera di avvio 2.x . Tutto ciò che serve è importare alcuni Spring Boot Starter , cosa che molto probabilmente hai già fatto. Ad esempio spring-boot-starter-web, da cui dipende spring-boot-starter-logging, che estrae il spring-jclmodulo necessario per la registrazione con Spring Framework.

Quando si utilizzano gli starter, Logback viene utilizzato per la registrazione per impostazione predefinita, Log4j non è richiesto.

Rimuovi tutti i riferimenti a slf4jdal tuo file di build. Ecco come appare il riferimento a Spring Boot Web Starter nel file build.gradle.

compile("org.springframework.boot:spring-boot-starter-web")
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.