gpt4 book ai didi

java - 使用 spring-DM 扩展器进行 OSGi 日志记录不进行日志记录

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

我的设置:我能够使用 Log4J 作为我的日志记录框架创建一个简单的 OSGi bundle ,当部署到我的 OSGi 容器(Equinox)时,它效果很好,我的日志记录配置非常简单,使用单独的配置我的日志记录的包片段。此设置不涉及 Spring ,而且效果非常好。

我的问题:我正在将一个使用 log4j 作为其日志框架的 Spring 应用程序转换为 OSGi,第一阶段是为我的 Spring 应用程序创建各种 bundle ,现在我已经完成了。我遇到的问题是,与非 Spring 应用程序一起使用的 OSGi 日志记录片段包没有配置我启用 spring 的包。

我知道 bundle 处于 Activity 状态,因为 system.out.println 确实可以工作,但是我的所有日​​志记录配置都不起作用。我在控制台中看不到任何内容,我确实看到了很多 spring 输出,确认我的捆绑服务已公开,但没有日志记录。

任何建议表示赞赏。

最佳答案

我现在已经解决了这个问题,它花了我一天的时间,所以我希望有一天它能帮助别人。

我找到了这篇文章How to use Pax Logging in my bundles它提到要确保我在 list 中使用了以下内容

Import-Package: org.apache.log4j; version="[1.2,1.3)"; provider=paxlogging,
org.apache.commons.logging; version="[1.0,1.1)"; provider=paxlogging

此代码确保日志记录提供者是 paxlogging。

没有它,我永远无法看到任何日志消息,现在我可以了,这很棒,配置这似乎不适用于片段,所以我正在研究 ConfAdmin为此,但现在我很高兴,可以通过适当的日志记录继续开发。

关于java - 使用 spring-DM 扩展器进行 OSGi 日志记录不进行日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2773941/

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