Обратный вход -классический конфликт с SLF4J из-за разных зависимостей

#logstash #slf4j #logback-classic #logstash-logback-encoder

#logstash #slf4j #logback-классический #logstash-logback-кодировщик

Вопрос:

У меня есть внутренняя библиотека, которая была обновлена для использования, logstash которая имеет обязательную зависимость от logback , следовательно logback-classic (которая имеет собственное приложение slf4j внутри своих пакетов, что означает, что я не могу исключить здесь какую-либо библиотеку).

Когда я пытаюсь использовать эту зависимость в качестве jar поверх любого другого устаревшего модуля (все они используют slf4j-log4j12 ) Я действительно получаю сообщение об адской зависимости журнала:

 SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/asdf/.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:/home/asdf/.m2/repository/org/slf4j/slf4j-log4j12/1.7.26/slf4j-log4j12-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]
  

но сама проблема в том, что я не могу просто исключить logback-classic, поскольку он является обязательным для logstash, и я не могу перенести свои приложения на использование logback, поскольку они настроены с log4j.xml

Есть ли способ заставить slf4j использовать приложение appender вместо того, которое поступает из библиотеки logback, ИЛИ любая другая идея, чтобы только данный пакет использовал приложение, а остальные использовали другое?