在OSGI/Eclipse中使用Log4j2.10和slf4j api 1.8
我试图在我的eclipse项目中使用Log4j2.10和slf4j api 1.8 beta1。 我无法使绑定正常工作,slf4j抱怨:在OSGI/Eclipse中使用Log4j2.10和slf4j api 1.8,osgi,slf4j,log4j2,serviceloader,Osgi,Slf4j,Log4j2,Serviceloader,我试图在我的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. 它与Lo
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协同工作,后者使用的是slf4j 1.8中不再支持的StaticLoggerBinder机制
我的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文件
我缺少什么东西来让它工作吗
提前感谢,
RobLog4j2与slf4j api 1.8.x版尚不兼容,后者现在使用JPMS/jigsaw/Java9模块强制实施的ServiceLoader机制。您可以使用
org.apache.logging.log4j:log4j-slf4j18-impl
与slf4j 1.8.x
进行绑定,如本文所述 啊,服务加载器。。。您可能需要看看感谢您的回复,我看到了,但这意味着修改slf4j api和log4j.slf4j-impl清单文件,不是吗?我希望它能与标准依赖项一起工作。抢劫