さまざまな環境 (dev、ci、prod など) で動作する単一の WAR ファイルが必要であり、Spring 環境は主にユース ケースに対応しています。環境ごとの log4j は優れた項目の 1 つです。他の回答で示唆されているように、環境ごとに log4j 構成を使用できますが、各環境のファイルには多くの繰り返しがあり、異なるのは SMTPAppender の toAddress などのマイナー プロパティだけです。テンプレートのようなlog4j構成ファイルを使用して、各環境で異なる部分を実行時に置き換える簡単な方法はありますか? コンパイル時の選択が発生するため、Maven はここでは機能しません。
私が考えることができる 1 つの解決策は、Log4jConfigurer を拡張していくつかの環境変数を読み取ることです。テンプレートのキーと値のペアをマップし、テンプレート ファイル内のテンプレート変数を実際の値に置き換えてから、DOMConfigurator に渡します。もっと簡単な方法があるかどうか、またはベストプラクティスの観点から間違ったツリーを吠えているかどうかを確認したかっただけです。
前もって感謝します!