繁体   English   中英

在其他服务之前激活OSGI LogListener?

[英]Activating an OSGI LogListener before other services?

我正在使用Apache Felix,Declarative Services和Maven编写基于OSGI的桌面应用程序。 它将使用JavaFX,所以我也使用了Drombler FX

在我开发的捆绑软件中,我想使用一种适当的日志记录机制,并且我目前正在尝试使Apache Felix Log工作。 我获取LogService没问题,但这不足以使输出出现在控制台上。

网上的消息是,Everit的osgi-loglistener-slf4j将完成此工作,并且-确实-在激活osgi-loglistener-slf4j之后,控制台上会出现日志输出。

但是,直到我拥有了所有捆绑包之后osgi-loglistener-slf4j激活,因此,我感兴趣的日志信息都不会输出。 我尝试在我的第一个捆绑软件中创建对LogLevel@Reference ,以尝试强制激活osgi-loglistener-slf4j ,但是没有成功。

我如何osgi-loglistener-slf4j激活osgi-loglistener-slf4j 我已经阅读了有关开始级别的信息,但是我找不到有关如何在我的上下文中应用它们的任何信息(即台式机不是服务器,因此没有PAX或Karaf; Maven;并且我使用NetBeans,因此没有Eclipse)。

Drombler FX使用SLF4J: http : //www.drombler.org/drombler-fx/0.7/docs/tutorial/logging.html#logging

只需使用以下内容,它就可以工作:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;  

...

private static final Logger LOG = LoggerFactory.getLogger(MyClass.class);

在POM中添加以下依赖项:

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
    </dependency>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM