Web アプリケーションへのログインに Log4j を使用しています。当社のアプリケーションは、Websphere クラスター環境にデプロイされています。
例えば:
Web アプリケーションがデプロイされる 2 つの異なる JVM を持つ 1 つのホストがあります。
Host-1
JVM -1 [App-1, App-2]
JVM -2 [App-1, App-2]
App-1 のLog4j 構成は次のとおりです。
<log4j:configuration debug="true">
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="FileOut" />
</appender>
<appender name="FileOut" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/home/applogs/app-1.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="5" />
<param name="Threshold" value="ALL" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d %-5p - %m%n" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="ASYNC" />
</root>
</log4j:configuration>
しかし、ここでの問題は、異なる JVM ログが同じファイル/home/applogs/app-1.logに書き込まれていることです。
クラスタリング環境用に個別のログ ファイルを構成する方法はありますか? 1 つの JVM または 2 つの JVM または 3 つの JVM などにアプリケーションをデプロイする場合に Log4j 構成を更新しないようにするには?