Я получаю следующую ошибку. Похоже, что к sl4j привязано несколько фреймворков ведения журналов. Не знаю, как это решить. Любая помощь приветствуется.

14:42:35,411 ERROR [stderr] (MSC service thread 1-3) SLF4J: Class path contains multiple SLF4J bindings.
14:42:35,412 ERROR [stderr] (MSC service thread 1-3) SLF4J: Found binding in [vfs:/content/offer-warehouse-processor-api.war/WEB-INF/lib/log4j-slf4j-impl-2.7.jar/org/slf4j/impl/StaticLoggerBinder.class]
14:42:35,412 ERROR [stderr] (MSC service thread 1-3) SLF4J: Found binding in [vfs:/content/offer-warehouse-processor-api.war/WEB-INF/lib/slf4j-log4j12-1.7.21.jar/org/slf4j/impl/StaticLoggerBinder.class]
0
Yuan Sha 22 Апр 2020 в 01:04

1 ответ

В сообщении говорится, что в вашем пути к классам есть как slf4j-log4j12-1.7.21.jar, так и log4j-slf4j-impl-2.7.jar. slf4j-log4j12 направляет все журналы SLF4J в log4j 1.2. Log4j-sfl4j-impl направляет все журналы в log4j 2. Вам нужно удалить тот, который вам не нужен. Например, если вы хотите использовать log4j 2, удалите slf4j-log4j12-1.7.21.jar из своего проекта. Если вы не уверены, как он был включен, и вы используете Maven, запустите

mvn dependency:tree >mvn.txt

А затем загляните в созданный файл mvn.txt и найдите, куда включается jar и в какой зависимости он находится от вашего pom.xml. Затем добавьте исключение, например

<exclusions>
  <exclusion>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
  </exclusion>
</exclusions>

В зависимости, которая включает его.

0
rgoers 24 Апр 2020 в 02:22