2016-05-23 11 views
0

すべてのバンドルにログファイルが必要です。これは、ServiceMixの中で私の設定です:servicemix内の1つのバンドルに対して1つのログ

log4j.appender.bpa=org.apache.log4j.sift.MDCSiftingAppender 
log4j.appender.bpa.key=app.name 
log4j.appender.bpa.default=bpa 
log4j.appender.bpa.appender=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.bpa.appender.DatePattern='.'yyyy-MM-dd 
log4j.appender.bpa.appender.layout=org.apache.log4j.PatternLayout 
log4j.appender.bpa.appender.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n 
log4j.appender.bpa.appender.file=${karaf.data}/log/${bundle.name}.log 
log4j.appender.bpa.appender.append=true 

log4j.category.com.apba.bpa=INFO, bpa 

しかし、結果ショーが名前org.apache.camel.camel-core.log代わりに私のバンドルの名前をログに記録します。

問題が何ですか?

答えて

0

バンドル名に基づいて設定を変更するか、アプリケーションとCamelのルートにログインするときに "MDC"機能を使用する必要があります。

コンフィグにこれを追加してみてください:

log4j.appender.sift.key=bundle.name 

キャッチキャメルルートでは、すべてのログは、あなたが探しているものラクダコアバンドルのためのもので、おそらくないだろうということです。コードとルートで明示的にMDC識別子を使用するベストプラクティス。

ここでJBOのブログをご覧ください:http://blog.nanthrax.net/2014/08/mdc-logging-with-apache-karaf-and-camel/

関連する問題