Як увімкнути вхід у org.slf4j для версії: '2.0.0-alpha1' у весняному завантаженні


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 завантаження 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.