每次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
最佳答案
只需在此处复制您的解决方案文字,即可将问题标记为已回答。
这是由PAX-Logging而非felix生成的!
它由系统属性控制(例如,用-Dorg.ops4j.pax.logging.service.frameworkEventsLogLevel="INFO"
进行更改)。但是,您不能将其设置为低于DEBUG的任何值。相关的类,如果要更改,则为org.ops4j.pax.logging.service.internal.FrameworkHandler
关于java - Felix有关ServiceEvent和BundleEvent的日志级别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16354437/