Como habilitar o log no org.slf4j para a versão: '2.0.0-alpha1' na inicialização do Spring

11

Eu usei o log SLF4J para imprimir todos os logs. Estou usando a versão mais recente do org.slf4j.

implementação 'org.slf4j: slf4j-api: 2.0.0-alpha1'

implementação 'org.slf4j: log4j-over-slf4j: 2.0.0-alpha1'

Mas estou recebendo o seguinte erro e também nenhum registro está sendo impresso.

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.

Os logs estão funcionando bem com a versão mais antiga (1.7.25). É necessário adicionar ou configurar algo no projeto para que esses logs possam ser impressos

r123
fonte
Você poderia compartilhar seu arquivo POM aqui? Isso ajudará a entender quais dependências estão sendo usadas
user2281204

Respostas:

1

Irá imprimir as mensagens adicionando slf4j-log4j12 em vez de slf4j-api

Remova o seguinte

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

Adicionar

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

Isso ocorre porque slf4j é uma abstração que precisa de ligação com outras bibliotecas pré-existentes. Portanto, se você estiver usando simplesmente slf4j para imprimir logs, ele não funcionaria porque não teria as configurações nos níveis de log etc. Esse link fornece algumas informações sobre o mesmo.

Além disso, a nova versão do Spring Boot possui uma integração padrão com o slf4j para a versão 1.7.9

user2281204
fonte
0

Você não precisa importar qualquer dependência log ao usar Primavera Bota 2.x . Tudo o que é necessário é importar alguns Spring Boot Starter , o que você provavelmente já fez. Por exemplo spring-boot-starter-web, depende de spring-boot-starter-loggingqual spring-jclmódulo extraído é necessário para o log no Spring Framework.

Ao usar os iniciantes, o Logback é usado para registro por padrão, o Log4j não é necessário.

Apenas remova todas as referências slf4jdo seu arquivo de compilação. Aqui está como a referência ao Spring Boot Web Starter se parece no arquivo build.gradle.

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