log4j プロパティ ファイルがあります。アプリケーションの起動時に、いずれかのプロパティの値を設定する必要があります。出来ますか?アプリケーションの起動時にのみプロパティの値を知っているためです。
log4j.properties
----------------
Environment = ${env}
ありがとう!
はい。以下の例のように、アプリケーションの起動時に JVM arg を指定し、log4j ファイルで同じものを使用することで、これを行うことができます。ここで、env は JVM arg です。
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender log4j.appender.rollingFile.File=D:/bpd/${env}Userlog.log
java -DEnvironment=dev <YourMainProgram>
次に、ログファイルでその変数を次のように呼び出すことができます
log4j.appender.logfile.File=appname-${Environment}.log
編集:
Tomcat: アプリケーションが Tomcat で実行されている場合は、Catalina.bat で環境を定義できます。
「bin」ディレクトリにある「 Catalina.bat 」ファイルを開きます。
set CATALINA_OPTS=" -DEnvironment=dev"
次に、Catalina.bat でサーバーを再起動します。