Java sl4j-log4j日志库无法正常工作

时间:2016-09-14 10:52:56

标签: java log4j logback slf4j

enter image description here

我试图使用这些jars(截图)编译java程序,但是遇到了这些错误:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/vanar/workspace/TwitterKafka/logback-classic-1.1.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/vanar/workspace/TwitterKafka/slf4j-log4j12-1.7.5.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]

Exception in thread "hosebird-client-io-thread-0" java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
       at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:120)
       at org.apache.http.impl.conn.PoolingClientConnectionManager.shutdown(PoolingClientConnectionManager.java:276)
       at com.twitter.hbc.httpclient.ClientBase.run(ClientBase.java:165)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
       at java.lang.Thread.run(Thread.java:745)

如何确保所有这些日志记录组件协同工作? 我感到困惑的是什么与什么是兼容的,除了我试过没有运气的试验和错误之外我不知道。请帮助

3 个答案:

答案 0 :(得分:1)

您可以尝试将记录jar文件添加到endorsed目录。

答案 1 :(得分:0)

使用slf4j-log4j的最新组合。您正在使用任何一个这种罐子的旧版本。

答案 2 :(得分:0)

enter image description here

在此组合中添加log4j和sl4j jar。如果在记录时任何一个缺少异常。