2016-11-03 2 views
1

Weblogic 12cにEARアプリケーションをデプロイしています。私はlog4j2を設定し、(Webプロジェクトの)web.xmlに次のコードを置くことはできません(アプリケーションによってファイルが選択されていない)。Log4j2 Weblogicでファイルの場所が取得されない12c

<context-param> 
<param-name>log4jConfiguration</param-name> 
<param-value>file:///webapps/apps/appName/log4j2.xml</param-value> 
</context-param> 

私はエラー

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. 

私はWebLogic起動スクリプト(-Dlog4j.configurationFile=path/to/log4j2.xml)でlog4j2.xmlファイルへのパスを言及している場合、それはlog4jのファイルをピックアップを取得します。 <context-param>設定を動作させるにはどうすればよいですか? Eclipse(STS)内からweblogicを実行しています。

答えて

0

もう一度確認してください:log4j-web依存関係をクラスパスに追加しましたか?これがなければ、コンテキストパラメータは機能しません。

また、指定されたfile:パスがWebコンテキストルートに対して解決されることに注意してください。基本的には結果が返されますServletContext.getResource(path).

システムプロパティー-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACEを設定すると、何が問題になるか分かります。これにより、内部Log4j2ログがコンソールに出力されます。

+0

私はlog4j-web依存関係を持っています。私は設定を変更して-Dlog4j.configurationFileパラメータを使用しました。私はあなたが "ファイル"パスがコンテキストルートに対して解決されると言った部分を理解していませんでした。私はドライブ上の任意の場所を言及することができ、私のlog4jファイルをピックアップする他のプロジェクト(tomcat上)があります。 – user1187958

+0

私はweb.xmlで設定されたcontex-valueの値を意味していました:あなたは ' file:///webapps/apps/appName/log4j2.xml'と述べました。そのパスはWebアプリケーションのルートからの相対パスとして解釈されます。 –

+1

これは良い情報です。私はそれがコンテキストルートに相対的であることは知らなかった。おそらくそれが私の設定が選ばれなかった理由です。なぜ私の設定ファイルが取得されなかったのかを説明するので、あなたの答えを受け入れるでしょう。 – user1187958

関連する問題