有关ServiceEvent和BundleEvent的Felix日志级别

时间:2013-05-03 08:21:35

标签: java logging osgi apache-felix

每次Felix开始捆绑时,我都会在以下行中获得记录输出:

BundleEvent STARTED
BundleEvent RESOLVED
ServiceEvent REGISTERED

日志级别是debug,它不是来自任何felix类,而是来自我自己的类,因此我无法对其进行过滤,仍然可以从我自己的代码中看到调试消息。

如何降低Felix的日志级别?我已经尝试了显而易见的felix.log.level无效(加上它默认为错误)。有任何想法吗?谢谢!

更新:这是导致这一点的堆栈跟踪:

Thread [FelixDispatchQueue] (Suspended (entry into method log in PaxLoggingServiceImpl))    
    PaxLoggingServiceImpl.log(Bundle, ServiceReference, int, String, Throwable) line: 121   
    PaxLoggingServiceImpl.log(Bundle, int, String, Throwable) line: 115 
    FrameworkHandler.bundleChanged(BundleEvent) line: 93    
    EventDispatcher.invokeBundleListenerCallback(Bundle, EventListener, EventObject) line: 868  
    EventDispatcher.fireEventImmediately(EventDispatcher, int, Map, EventObject, Dictionary) line: 789  
    EventDispatcher.run() line: 1088    
    EventDispatcher.access$000() line: 54   
    EventDispatcher$1.run() line: 101   
    Thread.run() line: 662  

1 个答案:

答案 0 :(得分:1)

只需在此处复制解决方案文字,以便将问题标记为已回答。

这是由PAX-Logging而不是felix生成的! 它由系统属性控制(例如-Dorg.ops4j.pax.logging.service.frameworkEventsLogLevel="INFO"更改)。但是,您无法将其设置为 lower 而不是DEBUG。如果您想要更改相关课程,请org.ops4j.pax.logging.service.internal.FrameworkHandler