log4jに次の行があります:
log4j.appender.FILE.File=${catalina.home}/logs/debug.log
IntelliJ からプロジェクトを実行すると、完全に動作します。
しかし、(Maven から) TestNG テストを実行しようとすると失敗します。
log4j:ERROR setFile(null,true) の呼び出しに失敗しました。java.io.FileNotFoundException: /logs/debug.log (そのようなファイルまたはディレクトリはありません)
パスをハードコードすることができ、すべてがうまくいきます。しかし、${catalina.home} が別の場所にあるさまざまなシステムに展開できるため、そのソリューションは必要ありません。
Mac で開発し、freebsd と centos にデプロイします。Tomcat は常にさまざまな場所にあります。/var/log/myapp.log を使用できますが...
ログ ファイル パスを使用して共通変数 (IntelliJ および Maven テストの実行時に使用可能) を定義する方法はありますか?