久しぶりにTomcatのログを確認すると多くの不要なログが溜まっていたので、自動で整理する仕組みをセットしました。
tomcat8 と tomcat9 ではログ整理の方法が微妙に違うらしく、情報が少なくて調査に時間がかかりました。記事に残しておきます。
まずTomcatのログがどこに出力されているか確認します。デフォルトの場所は次でした。
/usr/local/tomcat9/logs/*.log
/usr/local/tomcat9/logs/*.out
/usr/local/tomcat9/logs/*.txt
ログの出力場所は次のようにカスタムすることが出来ます。
Tomcat ログの保存期間、出力場所を指定する方法
Tomcat9 では、ログの設定を ${catalina.base}/conf/logging.properties に記載します。
...
そして logrotate の設定ファイルを編集します。
# vi /etc/logrotate.conf
/usr/local/tomcat9/logs/*.log /usr/local/tomcat9/logs/*.out /usr/local/tomcat9/logs/*.txt { copytruncate daily rotate 7 missingok create 0644 tomcat tomcat }
これで7日間(7個)のログのみ保持するようになりました。サービスの再起動などせず.confを更新するだけで設定が更新されます。