我正在尝试在我的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.
它适用于Log4j 2.9.1和slf4j-api 1.7.24,它使用的是staticLoggerBinder机制,slf4j 1.8不再支持
我的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文件或者没有加载。
我有什么遗漏才能让它发挥作用吗?
提前致谢,
罗布
答案 0 :(得分:2)
您可以使用foo
与{ }
进行绑定,如本official documentation所述。
答案 1 :(得分:0)
Log4j2与slf4j-api版本1.8.x尚不兼容,后者现在使用由JPMS / jigsaw / Java9模块强制执行的ServiceLoader机制。