0

每次 Felix 启动一个包时,我都会在以下行中获得日志输出:

BundleEvent STARTED
BundleEvent RESOLVED
ServiceEvent REGISTERED

日志级别是调试的,它不是来自任何 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  
4

1 回答 1

1

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

这是由 PAX-Logging 而不是 felix 生成的!它由系统属性控制(使用 eg 更改-Dorg.ops4j.pax.logging.service.frameworkEventsLogLevel="INFO")。但是,您不能将其设置为低于DEBUG 的任何值。相关的类,如果你想改变它是org.ops4j.pax.logging.service.internal.FrameworkHandler

于 2013-05-03T10:57:55.493 回答