キーワード†
- Spring Boot
- logback
したいこと†
実行環境ごと(本番、ステージング、開発)にログファイルの出力先を変えたい。
環境 | ログファイル |
本番 | /home/hoge/log/application.log |
ステージング | /home/hogestg/log/stg.application.log |
開発 | /home/hogedev/log/dev.application.log |
など。
せっかく同じ構成の環境を用意するのにディレクトリ名を変えなくてもよくないかな。と思ったりもするけど、なぜかそう求められたりすることは多い。
どうやって†
logback-spring.xmlで次のように設定する。
<springProfile name="prod"> <property name="WEB_FILE_NAME" value="/home/hoge/log/application.log" /> </springProfile> <springProfile name="stg"> <property name="WEB_FILE_NAME" value="/home/hogestg/log/stg.application.log" /> </springProfile> <springProfile name="dev"> <property name="WEB_FILE_NAME" value="/home/hogedev/log/dev.application.log" /> </springProfile>
ファイル名の指定で次のように書く。
<file>${WEB_FILE_NAME}</file>
ノート†
logback-spring.xmlにするとSpringのプロフィールが使えるのですね。