Play2 JavaでWebアプリケーションを開発しております。
ログの出力先はPlay2 logbackの設定サンプルだと大体 ${application.home}/logs/...log としていることが多いのですが、アプリケーションの配置をあまり好ましく思っておらず、/var/log/myapp 以下などOS側で指定したログディレクトリに吐かせたいと思っております。
具体的には logging.outDir などといった名前のシステムプロパティを介して、
- logback.xml 内では出力先を ${logging.outDir}/...log と設定し
- Playアプリの起動オプションとして -Dlogging.outDir=/var/log/myapp とシステムプロパティを渡す
とします。これで目的の動作はできるのですが、問題は起動オプションを渡さなかったときです。特に、開発環境で単に run する場合などです。アプリ配置ディレクトリ以下に logging.outDir_IS_UNDEFINED というディレクトリができてそこに記録されるのですが、せめてデフォルト値を application.conf あたりに設定したく思うのです。
application.conf に logging.outDir=/var/log/myapp と書き加えてもダメでした。あれはシステムプロパティではないのですね。
どのようにすればlogbackに渡す変数の初期値をPlayアプリに持たせられるでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。