我正在尝试使用log4j2 OSGi包,但似乎log4j2 api在OSGi环境中找不到log4j2核心.我不断得到以下异常:
ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console
Run Code Online (Sandbox Code Playgroud)
我发现在很少的地方讨论了同样的例外,但我仍然无法弄清楚这个问题.Isuspect我遇到了这个问题,因为log4j2 api无法在log4j2核心的META-INF目录中找到log4j-provider.properties.有什么线索为什么我得到这个例外,我该如何纠正这个问题?(如果有人有正确的pom文件来添加log4j依赖项和捆绑请与我分享)
这些是我使用的依赖项
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我使用apache felix作为bundle插件.发生此错误的原因是log4j2-core的META-INF内部的资源特别是log4j-providoer.properties文件对log4j api不可见.
谢谢!