我们正在与pax-runner运行 OSGI 捆绑包。我们使用slf4j上的logback进行日志记录。
问题是 logback 尝试在类路径中查找logback.xml,但在 pax-runner 中我应该在哪里放置logback.xml以便pax-runner配置logback相应?
我已经尝试使用JoranConfigurator来加载包含在bundle classpath中的logback.xml,但是它假定classpath作为运行包的容器(在我的例子中,它是运行所有bundle jar的runner文件夹)。
任何帮助都将不胜感激。
先谢谢。
答案 0 :(得分:4)
通常的方法是创建一个附加到logback包的片段包,并将logback.xml放在那里。片段包“扩展”其他包,因此它们的内容可供主机包的类加载器使用。这样,logback可以在类路径中找到logback.xml。
答案 1 :(得分:2)
另一种解决方案是配置logback以读取配置 来自类路径之外的文件。
这可以通过设置VM选项-Dlogback.configurationFile=/dir/conf/logback.xml