【发布时间】:2018-02-16 15:09:19
【问题描述】:
我正在尝试在我的 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文件或未加载。
为了让它工作,我有什么遗漏吗?
提前致谢,
罗伯
【问题讨论】:
-
啊ServiceLoader...你可能需要看看aries.apache.org/modules/spi-fly.html
-
感谢回复,我看到了,但是这意味着修改 slf4j-api 和 log4j.slf4j-impl 清单文件,不是吗?我希望它可以与标准依赖项一起使用。罗伯
标签: osgi slf4j log4j2 serviceloader