0

Felix がバンドルを開始するたびに、次の行にログ出力が表示されます。

BundleEvent STARTED
BundleEvent RESOLVED
ServiceEvent REGISTERED

ログ レベルはデバッグであり、フェリックス クラスからのものではなく、自分のクラスからのものであるため、それをフィルタリングする方法がなく、自分のコードからのデバッグ メッセージが引き続き表示されます。

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

ここに解答のテキストをコピーするだけで、質問に回答済みのマークを付けることができます。

これは Felix ではなく PAX-Logging によって生成されます! これは、システム プロパティによって制御されます (たとえば で変更します-Dorg.ops4j.pax.logging.service.frameworkEventsLogLevel="INFO")。ただし、DEBUG よりも低い値に設定することはできません。変更する場合に備えて、関連するクラスはorg.ops4j.pax.logging.service.internal.FrameworkHandler

于 2013-05-03T10:57:55.493 に答える