使用pax-runner在spring-OSGI中进行logback

时间:2010-10-27 09:33:24

标签: osgi logback pax-runner

我们正在与pax-runner运行 OSGI 捆绑包。我们使用slf4j上的logback进行日志记录。

问题是 logback 尝试在类路径中查找logback.xml,但在 pax-runner 中我应该在哪里放置logback.xml以便pax-runner配置logback相应?

我已经尝试使用JoranConfigurator来加载包含在bundle classpath中的logback.xml,但是它假定classpath作为运行包的容器(在我的例子中,它是运行所有bundle jar的runner文件夹)。

任何帮助都将不胜感激。

先谢谢。

2 个答案:

答案 0 :(得分:4)

通常的方法是创建一个附加到logback包的片段包,并将logback.xml放在那里。片段包“扩展”其他包,因此它们的内容可供主机包的类加载器使用。这样,logback可以在类路径中找到logback.xml。

答案 1 :(得分:2)

另一种解决方案是配置logback以读取配置 来自类路径之外的文件。

这可以通过设置VM选项-Dlogback.configurationFile=/dir/conf/logback.xml

来完成