我有一个a-conf
带有src/main/resources/logback/conf/a/CommonAppenders.xml
文件的项目:
<included>
<appender name="FILE" class="FileAppender" />
</included>
我还有另一个a-runable
带有logback.xml
配置的项目导入CommonAppenders.xml
:
<configuration>
<!-- this is classpath import -->
<include resource="logback/conf/a/CommonAppenders.xml" />
...
</configuration>
我可以a-runable
在包含所有依赖项(是其中之一)的独立 jar中编译,也可以a-conf
作为 OSGi 包编译。当我运行独立应用程序时,一切正常 - 日志文件显示为CommonAppenders.xml
. 但是当我运行 OSGi 容器时,不会创建任何日志文件。我认为 logback 不能包含来自类路径的资源,因为 OSGi 容器中的每个包都有自己的类加载器(logback 用于ClassLoader.getResource()
包含文件)。
我已经签Export-Package: logback.conf.a
入a-conf.jar/META-INF/MANIFEST.MF
(这是由 maven bundlor 插件完成的) - 没关系。添加Import-Package: logback.conf.a
到a-runable
没有效果。
我不知道我能做什么(没有要更改的代码,只是配置)。欢迎任何帮助。
PS我在这里发现了类似的问题,但logback.xml
已经在类路径中并且它自己的附加程序工作正常。FileNotFoundException
此外,我在现有日志中没有任何s。