5

Equinox サーブレット ブリッジを使用して OSGi Web アプリケーションをデプロイすると、次のようになります。

log4j:WARN No appenders could be found for logger (org.springframework.osgi.extender.internal.activator.ContextLoaderListener).
log4j:WARN Please initialize the log4j system properly.

必要な「log4j.properties」ファイルを提供するいくつかの方法を試しました。

  • context-param "log4jConfigLocation" をサーブレット ブリッジ web.xml に追加する
  • WEB-INFフォルダーにフォルダー「classes」を作成し、そこにlog4j.propertiesファイルをコピーします(そして、他のいくつかの場所にコピーします)
  • log4j バンドルを削除し、「extendedFrameworkExports」を org.apache.log4j に設定して、(私が推測するに) tomcat log4j が使用されるようにします...これは機能しませんでした。 ..もうそこにはありません...

もちろん、log4j バンドルを log4j.properties ファイルで拡張するフラグメント バンドルもありますが、この log4j バンドルは使用されていないようです。

追加: Eclipse でアプリケーションを開発していることを追加する必要があります... log4j / slf4j を構成するフラグメント バンドルがそこで動作します。

誰かがこれを解決しましたか?何か案は?

4

3 に答える 3

3

log4j.properties同じ問題があり、/srcフォルダーに追加しました。

于 2009-04-27T07:08:15.453 に答える
3

エラーが見つかりました。build.properties のバイナリ ビルドに追加しなかったため、log4j.properties ファイルを提供するフラグメントに含まれていませんでした。

于 2009-04-02T12:47:52.633 に答える
2

更新:これはあなたの問題にはあまり役に立ちません...

私はOSGiを自分で研究しています。

探しているものとはまったく異なりますが、次の投稿では、バニラの分点を使用する場合 (つまり、tomcat/jetty 内でホストされていない場合) の同じ問題について説明しています。

log4j.properties を保持するために「フラグメント バンドル」(ダウンロード可能な例) を作成することをお勧めします。おそらく、あなたは似たようなことを試すことができますか?

それとも、WARのlog4j.properties内部に配置するだけでよいのでしょうか?META-INF

于 2009-04-01T15:18:38.830 に答える