Как включить вход в org.slf4j для версии: '2.0.0-alpha1' при загрузке Spring


11

Я использовал SLF4J для печати всех журналов. Я использую последнюю версию org.slf4j.

реализация 'org.slf4j: slf4j-api: 2.0.0-alpha1'

реализация 'org.slf4j: log4j-over-slf4j: 2.0.0-alpha1'

Но я получаю следующую ошибку, а также журналы не печатаются.

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.

Журналы отлично работают со старой версией (1.7.25). Нужно ли что-то добавлять или настраивать в проекте, чтобы эти журналы можно было распечатать


Не могли бы вы поделиться своим файлом POM здесь? Это поможет понять, какие зависимости используются
user2281204

Ответы:


1

Он будет печатать сообщения, добавив slf4j-log4j12 вместо slf4j-api

Удалить следующее

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

Добавить

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

0

Это потому, что slf4j является абстракцией, которая требует связывания с другими уже существующими библиотеками. Следовательно, если вы используете просто slf4j для печати журналов, это не сработает, потому что у него не будет настроек уровня ведения журнала и т. Д. Эта ссылка дает некоторую информацию об этом.

Кроме того, новая версия Spring Boot имеет интеграцию по умолчанию с slf4j для версии 1.7.9


0

При использовании Spring Boot 2.x вам не нужно импортировать какие-либо зависимости журнала . Все, что требуется, - это импортировать Spring Boot Starter , что вы, скорее всего, уже сделали. Например spring-boot-starter-web, зависит от того spring-boot-starter-logging, какой spring-jclмодуль используется для входа в Spring Framework.

При использовании стартеров Logback используется для регистрации по умолчанию, Log4j не требуется.

Просто удалите все ссылки slf4jиз вашего файла сборки. Вот как выглядит ссылка на Spring Boot Web Starter в файле build.gradle.

compile("org.springframework.boot:spring-boot-starter-web")
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.