tomcat7についてのログ関連設定メモ
そろそろ、社内で運用しているtomcat7 のログファイルがいっぱいになってきているので、ログローテート等設定したので、覚書に..

 

アクセスログ

 

CATALINA_HOME/conf/server.xmlを編集して、tomcat自身で行っているローテート設定を無効にする。

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               rotatable="false"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

 

ログローテート設定

catalina.out と、先の localhost_acces_log のログローテートを設定。

/etc/logrotale.d/tomcat7

/var/log/tomcat7/catalina.out
/var/log/tomcat7/localhost_access_log.txt {
  copytruncate
  weekly
  rotate 52
  compress
  missingok
  create 640 root adm
}

チェックするのには、

# /usr/sbin/logrotate /etc/logrotate.conf

を実行して、

# cat /var/lib/logrotate/status

で、確認。

この場合は、ローテートの期間が1週間単位になっているので、1週間後に${ログファイル名}.gzファイルができていたら成功です。

早く確認したい場合は、/var/lib/logrotate/status の日付を1週間前に戻して、再度ログローテートを実行する。

 

不要なログのクリーンアップ

シェルスクリプトで、60日以上前に更新のあったファイルを削除するように実行する。

#!/bin/bash
LOG_DIR=/usr/local/tomcat7/logs/
delfiles=`find ${LOG_DIR}*.log -mtime +60 -printf %p\ `
for a in $delfiles
do
    echo -e "delete file: ${a}" > /dev/null 2>&1
    rm ${a}
done
~

 
記事を共有する
カテゴリー: tomcat

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。