Cómo habilitar el inicio de sesión en org.slf4j para la versión: '2.0.0-alpha1' en el arranque de Spring

11

He usado el registro SLF4J para imprimir todos los registros. Estoy usando la última versión de org.slf4j.

implementación 'org.slf4j: slf4j-api: 2.0.0-alpha1'

implementación 'org.slf4j: log4j-over-slf4j: 2.0.0-alpha1'

Pero recibo el siguiente error y tampoco se imprimen registros.

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.

Los registros funcionan bien con la versión anterior (1.7.25). ¿Es necesario agregar o configurar algo en el proyecto para poder imprimir estos registros?

r123
fuente
¿Podría compartir su archivo POM aquí? Ayudará a comprender qué dependencias se están utilizando
user2281204

Respuestas:

1

Imprimirá los mensajes agregando slf4j-log4j12 en lugar de slf4j-api

Eliminar lo siguiente

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

Añadir

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

Esto se debe a que slf4j es una abstracción que necesita vincularse con otras bibliotecas preexistentes. Por lo tanto, si está utilizando simplemente slf4j para imprimir registros, no funcionaría porque no tendría la configuración en los niveles de registro, etc. Este enlace proporciona información sobre el mismo.

Además, la nueva versión de Spring Boot tiene una integración predeterminada con slf4j para la versión 1.7.9

usuario2281204
fuente
0

No es necesario para importar cualquier tipo de dependencia de registro cuando se utiliza 2.x primavera de arranque . Todo lo que se requiere es importar Spring Boot Starter , lo que probablemente ya haya hecho. Por ejemplo spring-boot-starter-web, que depende de spring-boot-starter-loggingqué spring-jclmódulo de extracción se requiere para iniciar sesión con Spring Framework.

Cuando se utilizan iniciadores, Logback se utiliza para iniciar sesión de forma predeterminada, no se requiere Log4j.

Simplemente elimine todas las referencias slf4jde su archivo de compilación. Así es como se ve la referencia a Spring Boot Web Starter en el archivo build.gradle.

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