2

我正在尝试在我的 Eclipse 项目中使用 Log4j2.10 和 slf4j-api 1.8 beta1。我无法让绑定工作,slf4j 抱怨:

SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.

它与使用 slf4j 1.8 不再支持的 StaticLoggerBinder 机制的 Log4j 2.9.1 和 slf4j-api 1.7.24 一起使用

我的 Eclipse 插件依赖于

org.apache.logging.log4j.osgi,
org.apache.logging.log4j.api,
org.apache.logging.log4j.core,
org.apache.logging.log4j.slf4j-impl,
slf4j.api

问题是在 LoggerFactory (slf4j-api) 中 ServiceLoader.load(SLF4JServiceProvider.class) 调用返回任何空列表,因此 org.apache.logging.log4j.slf4j-impl 的 spi 文件未找到或未加载.

有什么我错过了这个工作吗?

提前致谢,

4

2 回答 2

2

您可以使用org.apache.logging.log4j: log4j-slf4j18-implfor binding with SLF4J 1.8.x,如本官方文档中所述。

于 2020-03-16T13:14:01.653 回答
0

Log4j2 与 slf4j-api 版本 1.8.x 尚不兼容,后者现在使用 JPMS/jigsaw/Java9 模块强制执行的 ServiceLoader 机制。

于 2018-02-17T09:09:29.090 回答