Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logstash Logback classic通过不同的依赖关系与SLF4J冲突_Logstash_Slf4j_Logback Classic_Logstash Logback Encoder - Fatal编程技术网

Logstash Logback classic通过不同的依赖关系与SLF4J冲突

Logstash Logback classic通过不同的依赖关系与SLF4J冲突,logstash,slf4j,logback-classic,logstash-logback-encoder,Logstash,Slf4j,Logback Classic,Logstash Logback Encoder,我有一个内部库升级为使用logstash,它对logback具有强制依赖性,因此logback classic(在其包内部有自己的slf4j附加器,这意味着我不能在这里排除任何库) 当我尝试将此依赖项用作任何其他遗留模块上的jar时(所有这些模块都在使用slf4j-log4j12),我确实收到了日志依赖项地狱消息: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home

我有一个内部库升级为使用
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库的appender,或者,有没有其他办法让一个给定的包使用appender,其余的则使用other