2012-12-11 3 views
7

Java EE 5 Webアプリケーションがあります。WebSphere 7にEARファイルとしてデプロイしています。WebSphere 7でlog4j.configurationシステム変数を設定する方法は?

私はlog4jの設定をEARファイルの外部にして、EARファイルを再構築して再配置する必要なしに、必要に応じてログコンテンツを調整することができます。

log4j.configurationというシステム変数「 」を設定することで、私のlog4j.propertiesファイルの場所を指定できます。 (例:log4j.configuration = c:/log4j.properties)

私はこのシステム変数をWebSphere 7管理コンソールでどのように設定するのですか?

ブラウジング私はEnvironment > WebSphere Variablesがありますが、それはサーバー全体の変数を設定するため正しく表示されません。私は私のアプリケーションのEARファイルのためだけにシステム変数を設定したいと思います。

ご協力いただきありがとうございます。

ロブ

答えて

9

log4j.configurationプロパティは、Java仮想マシンのシステムプロパティです。このプロパティは、アプリケーションサーバーのジェネリックJVM引数のリストの最後に追加することで読み込むことができます。これは、以下をナビゲートして、WebSphereコンソールで行われます。このページの一番下に

-Dlog4j.configuration=file:C:/log4j.properties

クリックApply、および:汎用JVM引数の下

Servers > Application servers > [app server name] > Process definition > Java Virtual Machine

、以下を追加します変更を保存します。これには、アプリケーションサーバーを再起動して有効にする必要があります。

+1

ありがとうございます。これは、サーバー上のすべてのアプリケーションに対して1つのlog4j.configurationがあることを意味しています。私は私の特定のアプリケーションのための1つの設定ファイルを持つことができると思ったでしょう。それは可能ですか? –

+0

あなたは正しいです。これはどこにでも適用されます。アプリケーションレベルのLog4J設定が必要な場合は、各アプリケーション内に 'log4j.properties'ファイルをパッケージし、' log4j.configuration'システムプロパティを削除する必要があります。 – Isaac

1

また、アプリケーション用に共有ライブラリを使用し、そこにlog4j.xmlを置くこともできます。

関連する問題