異なるサーバーに複数のTomcat 7
インスタンスがインストールされています。基本的に同じアプリを (異なる顧客向けに) 異なる Tomcat に展開することがありますが、唯一の違いは構成です。ログの場所などを標準化するために、アプリを「ユニバーサル」にしようとしています。これにより、war ファイルを Tomcat インスタンスにデプロイするだけで自動的に接続され、アプリを変更することを覚えておく必要がなくなります。顧客 1、次に顧客 2 など。
とにかく、各フォルダーで、ファイルTomcat/conf
の最後にいくつかのプロパティを追加しました。catalina.properties
例:
# custom logging
log.base=c:/logs/tomcat/myapp
log.file=MYAPP.log
今、私のアプリケーションの log4j.cfg
ファイルには、次のものがあります。
log4j.appender.R.File=${log.base}/${log.file}
そして、私のアプリケーション myapp.cfg
には次のものがあります。
logfile=${log.file}
展開するとうまく機能します。Tomcat は、ファイル内のものを除いて、あるべき場所にすべてを置きlogging.properties
ます。
そのファイルには通常、次のものが含まれています。
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
${catalina.base}/logs
しかし、自分の${log.base}
変数を使用するように変更したいと思います。しかし、Tomcat (またはおそらく log4j?) はこれを認識しません。代わりに、Tomcat ルート フォルダに「${log.base}」という名前のディレクトリを実際に作成します。
setenv.bat
ファイルでカスタム変数を宣言できると読みました。私はそれをしましたが、それでもうまくいきませんでした。
どうすればこれを修正できますか?
ところで、私は Windows、Tomcat 7、および Windows サービスのインストール (GUI を使用) を使用しています。
ありがとう