tomcatのログローテートについて |
apt-get install tomcat7でubuntuにtomcat7をインストールしました。
※tomcagt-managerは動かしていません。
この場合、以下のログが /var/log/tomcat7 以下に作成されます。
1.catalina.out
2.catalina.YYYY-MM-DD.log
3.locahost.YYYY-MM-DD.log
4.localhost_acess_log.YYYY-MM-DD.txt
これらのログは、既にローテートの仕組みがあることが分かったので以下にまとめます。
1.catalina.out
・/etc/init.d/tomcat7 に記載。
prefix、suffixが変更可?(やらない方が良いような気が…)
・logrotateで圧縮、削除
/etc/logrotate.d/tomcat7 で世代数を設定。
2.catalina.YYYY-MM-DD.log
3.locahost.YYYY-MM-DD.log
・etc/tomcat7/conf/logging.properties に記載。
prefix、suffixが変更可。
・cronで圧縮、削除
/etc/cron.daily/tomcat7 で世代数を設定。
4.localhost_acess_log.YYYY-MM-DD.txtローテートの仕組みが既にあるのはありがたいけど、バラバラなのはやめてほしいす。。。
・/etc/tomcat7/server.xml に記載。
prefix、suffix、ローテートする/しない、ログフォーマット等が変更可。
・cronで圧縮、削除
/etc/cron.daily/tomcat7 で世代数を設定。
※/etc/cron.daily/tomcat7のスクリプトは「.log」ファイルがローテート対象
となっているため、以下のどちらかの対応が必要(2の方が楽)
1) 「.txt」ファイルも対象に含めるよう/etc/cron.daily/tomcat7を修正
2) /etc/tomcat7/server.xml で suffixを修正する
【/etc/tomcat7/server.xml 修正例】
Suffix以外にも少し追記・修正をする。
・before
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b"
・after
prefix="localhost_access." suffix=".log"
pattern="%h %l %u %t "%r" %s %b" resolveHosts="false"