Spring Boot Application でログファイル(spring.log)を出力する
前提
- Spring Boot Application の jarファイル をデプロイしている事。
- 上記1のjarファイルをsystemd を利用して起動している事。
- OSのuserはroot以外のuserを利用している事。
1. /var/log 配下に対象アプリケーション用のディレクトリを作成する
本番環境の /var/log 配下に作成する。
コマンドは下記の通り。
*****は、アプリケーションの名前。
$ sudo mkdir /var/log/*****
2. jar の引数で logging.file.path を指定する
Spring Boot を利用している場合、ログファイルを出力するようにする為には application.properties に logging.file.path
を記載すれば良い。
以下、参考
systemdを利用するので、 jar の実行時に引数としてapplication.propertiesを入力する。
下記は、例である。
%%%は、アプリケーションを実行するOSのuserの名前。
*****は、アプリケーションの名前。
$ cd /etc/systemd/system $ sudo vi *****.service
↓出力結果
User=%%% ExecStart=/var/*****/*****-0.0.1-SNAPSHOT.jar \ --logging.file.path=/var/log/***** \ ...
3. 上記で作成したディレクトリの所有権を変更する
%%%は、上記2の.serviceのUser名。
は、上記で作成したアプリケーションの名前のディレクトリ。
$ sudo chown %%% /var/log/*****
以下、参考