Путь к классу содержит несколько привязок SLF4J - Опции для выбора привязки - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть приложение, которое использует log4j, я добавил стартер logback в то же приложение для дополнительной функциональности.

Поскольку slf4j может связываться только с одной платформой журналирования, я получаю ошибки с logback-classic-1.2.4.jar и log4j-slf4j-impl-2.11.2.jar.

Есть ли способ сказать slf4j игнорировать log4j, не исключая log4j-slf4j-impl из зависимостей maven?

 SLF4J: Class path contains multiple SLF4J bindings.
 SLF4J: Found binding in [jar:file:/.m2/repository/ch/qos/logback/logback- 
 classic/1.2.3/logback-classic- 
 1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
 SLF4J: Found binding in 
 [jar:file:/.m2/repository/org/apache/logging/log4j/log4j-slf4j- 
 impl/2.11.2/log4j-slf4j-impl- 
 2.11.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
 SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an 
 explanation.
 SLF4J: Actual binding is of type 
 [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

[ERR] Caused by: java.lang.IllegalArgumentException: LoggerFactory is not 
a Logback LoggerContext but Logback is on the classpath. Either remove 
Logback or the competing implementation (class 
org.apache.logging.slf4j.Log4jLoggerFactory loaded from 
jar:file:/home/app/BOOT-INF/lib/log4j-slf4j-impl-2.10.0.jar!/). If you are 
using WebLogic you will need to add 'org.slf4j' to prefer-application- 
packages in WEB-INF/weblogic.xml: 
org.apache.logging.slf4j.Log4jLoggerFactory
...