Felix 5.4.0 を使用して、ネイティブ コンテナー内で pax 試験 4.8.0 との統合テストをセットアップしようとしています。私の最初の jUnit テストは問題なく実行されます。問題はログです。ログの構成を変更できません。これは非常に面倒です。(コンテナのロギングについて話していることに注意してください-ドライバの構成は問題ありません。問題は、OSGIコンテナ内で実行されるものにのみ関係します)。
公式ドキュメントでは、log4j が slf4j API (私の場合) を介して送信されたすべてのログを取得できるように、すべてを設定する必要があることを意味しています。しかし、log4j.properties ファイルまたは同等のファイルを指定する方法については何も述べていません。
私が無駄にしようとしたこと:
- ファイルをさまざまな場所に配置します(クラスローディングルート、META-INF、...)
- ConfigurationAdmin API を使用して @Before メソッド内で実行時に構成を設定する
- さまざまな org.ops4j.pax.logging アーティファクトを構成に追加する
- org/ops4j/pax/logging.config を含むディレクトリを指す felix.cm.dir プロパティを指定します (org.apache.felix.configadmin バンドルが使用されます)。ConfigurationAdmin は、ファイルが PID org.ops4j.pax.logging でロードされていることを確認しますが、まだシュガーはありません。
いずれの場合も、構成は無視されます (これは、偽の構成を提供することで証明できます - エラーは発生しません)。
誰かが jUnit + PAX + log4j.properties をセットアップしてくれるでしょうか? ありがとう。