gpt4 book ai didi

logging - 如何使 logback(日志库)与 ServiceMix(Karaf + ops4j 日志记录)一起工作

转载 作者:行者123 更新时间:2023-12-02 00:23:43 25 4
gpt4 key购买 nike

我试图让 logback 与 ServiceMix 4.3.0 (karaf 2.1.3) 一起工作,但没有成功。有没有人已经成功地使它工作? (使用任何版本的 serviceMix + slf4j + logback)

这是我的情况。我能够使 (Logback + slf4j + 我的应用程序) 在 tomcat 中一起工作。现在我想让他们在 ServiceMix 中一起工作。 ServiceMix 使用 OPS4J (org.ops4j.pax.logging) 来提供 slf4j (1.5.11)。所以,我必须使用 ServiceMix 提供的 slf4j(我不必安装新的 slf4j 包),接下来我安装了 Logback 核心模块(0.9.20)、Logback 经典模块(0.9.20)、jcl-over-slf4j(1.5 .11) 为了使 slf4j 和 logback 一起工作。安装很好,没有报错。在我的应用程序中,我有一个代码片段可以从外部文件夹中读取 logback.xml。

fis = new FileInputStream(System.getProperty("logconf") + "/logback.xml");
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(lc);
lc.reset();
configurator.doConfigure(fis);

但是每当运行这段代码时,我总是会得到这个错误:

java.lang.ClassCastException: org.ops4j.pax.logging.slf4j.Slf4jLoggerFactory 无法转换为 ch.qos.logback.classic.LoggerContext

因此我认为 ServiceMix 提供的 slf4j 不适用于 logback 库。

最佳答案

尚未发布的 Pax-Logging 1.7 支持 Logback。参见 https://github.com/ops4j/org.ops4j.pax.logging

您尝试做的事情永远不会与 Pax-Logging 一起工作,因为 Pax 有意包装记录器工厂以允许运行时注入(inject)日志记录提供程序。相反,如果您使用 Pax-Logging 1.7(某天),那么您将通过指向您的 logback.xml 的 org.ops4j.pax.logging.cfg 文件进行 logback 配置。

关于logging - 如何使 logback(日志库)与 ServiceMix(Karaf + ops4j 日志记录)一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9794473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com