gpt4 book ai didi

eclipse - OSGi + Logback + slf4j - Eclipse 运行配置

转载 作者:行者123 更新时间:2023-12-04 11:27:14 27 4
gpt4 key购买 nike

这是我的配置:

我们正在开发一个 OSGi 应用程序并希望包含日志记录。我决定使用 slf4j + logback。

我们使用 Eclipse 作为 IDE 和 Tycho 以从 Eclipse IDE(如 Manifest Editor 等)中受益。

所以我尝试了以下方法:

使用以下 Manifest.mf 创建了一个新插件:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Createcommand
Bundle-SymbolicName: de.hswt.oms.ws.wsr.createcommand
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Import-Package: de.hswt.oms.ws.command.wsr,
de.hswt.oms.ws.ds.core.data.impl,
org.slf4j
Service-Component: OSGI-INF/component.xml

现在,当我转到运行 -> 运行配置 -> OSGi 框架并选择我的 Bundle 并单击“添加必需的插件”时,将选择 100 多个 Bundle,我会收到很多错误和异常。

所以我从现有的 jar 里想出了一个新的插件,其中包括以下三个 jar :
  • logback-classic-1.0.7
  • logback-core-1.0.7
  • com.springsource.slf4j.api-1.6.1(我不相信这是个好主意,但是嘿......)

  • 如果我手动创建一个新的运行配置(不单击“添加所需的捆绑包”,它会按预期工作,但只要我点击“添加所需的捆绑包”,我就会回到 100 多个带有很多错误的捆绑包(一些 Jetty 的东西例子...)

    所以我的问题是:如何在我的 OSGi 应用程序中启用 logback 和 slf4j 并在 eclipse 中使用它并正确配置它?

    如果您需要更多信息,请随时询问。

    最佳答案

    AFAIK 当前官方 Logback/SLF4J jar 中的捆绑 list header 中存在一些问题。但是,您只需要以下三个 jars/bundles。基本功能不需要其他任何东西。

  • SLF4J API
  • Logback 核心
  • 经典日志

  • 在 Eclipse 中,我们将包放在 Orbit 中,以便跨项目重复使用。我们对 list header 应用了一些我们认为有益的修改。例如,我们将实际的 SLF4J 绑定(bind)作为片段交付,以避免原始 SLF4J API jar 的循环依赖。

    以下是捆绑包的下载链接:
  • org.slf4j.api
  • ch.qos.logback.core
  • ch.qos.logback.classic
  • ch.qos.logback.slf4j

  • 您可能还想要:
  • org.slf4j.ext
  • org.slf4j.jcl (通过 SLF4J 进行公共(public)日志记录)
  • org.slf4j.jul (Java 日志桥)
  • org.slf4j.log4j (通过 SLF4J 的 LOG4J)

  • 请注意,“添加必需的插件”不够聪明。它可能选择了太多或太少的插件。有时服务 API 在一个包中交付,但实际的服务实现在第二个包中交付。它可能不会选择该捆绑包。

    关于eclipse - OSGi + Logback + slf4j - Eclipse 运行配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13589048/

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