2

pax-runner でOSGIバンドルを実行しています。slf4j で logback を使用してログを記録しています。

問題は、 logbackがクラスパスで logback.xml を検索しようとすることですが、pax-runnerでは logback.xml をどこに配置して、pax-runner がそれに応じて logback を構成する必要がありますか?

JoranConfigurator を使用して、バンドル クラスパスに含まれる logback.xml をロードしようとしましたが、バンドルが実行されているコンテナーとしてクラスパスを想定しています (私の場合、すべてのバンドル jar が配置されるランナー フォルダーです)。

どんな助けでも大歓迎です。

よろしくお願いします。

4

2 に答える 2

5

通常のアプローチは、logback バンドルにアタッチされたフラグメント バンドルを作成し、そこに logback.xml を配置することです。フラグメント バンドルは他のバンドルを「拡張」するため、それらのコンテンツはホスト バンドルのクラスローダーで使用できます。このようにして、logback はクラスパスで logback.xml を見つけることができます。

于 2010-11-17T22:15:13.483 に答える
2

別の解決策は、クラスパスの外部から構成ファイルを読み取るように logback を構成することです。

これは、VM オプションを設定することで実行できます。-Dlogback.configurationFile=/dir/conf/logback.xml

于 2010-12-14T16:28:57.267 に答える