代码之家  ›  专栏  ›  技术社区  ›  Paul Whelan

使用Spring dm Extender进行OSGi日志记录,但不记录

  •  0
  • Paul Whelan  · 技术社区  · 14 年前

    我的设置 :我可以创建一个以log4j作为日志框架的简单OSGi包,当部署到我的OSGi容器(Equinox)时,它工作得很好,我的日志配置非常简单,只需要一个单独的包片段来配置日志。这个设置没有涉及到弹簧,它工作得非常好。

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

    我知道捆绑包是活动的,因为system.out.println可以工作,但是所有日志配置都不工作。我在控制台中什么也看不到,我确实看到了大量的Spring输出,确认我的bundles服务是公开的,但没有日志记录。

    感谢您的建议。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Paul Whelan    14 年前

    我现在已经把这个修好了,它让我一天都吃不消,所以我希望它有一天能帮助别人。

    我找到了那篇文章 How to use Pax Logging in my bundles 上面提到要确保我在我的舱单上使用了以下内容

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

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

    如果没有它,我现在就无法看到任何日志消息,这是一个很好的配置,这似乎不适用于片段,所以我正在研究 ConfAdmin 为此,但到目前为止,我很高兴,可以通过适当的日志记录继续开发。