ref.
jsvc.exeで起動する場合は未対応。
CATALINA_HOME/bin/catalina.sh
スクリプト修正。
#touch "$CATALINA_BASE"/logs/catalina.out ### 中略 org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \ | /usr/local/bin/rotatelogs "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.log 86400 540 & # org.apache.catalina.startup.Bootstrap "$@" start \ # >> "$CATALINA_BASE"/logs/catalina.out 2>&1 & /path/to/symlink_catalina.sh
- catalina.outをtouchするところをコメント
- 標準出力をrotatelogsで日付付きのファイルにローテート
- 当日の日付のcatalinaログをcatalina.outにシンボリックリンクするシェルを実行
/path/to/symlink_catalina.sh
catalinaのログをcatalina.outにsymlinkするシェルを別で作った。
#!/bin/sh CATALINA_BASE=/usr/local/tomcat CATALINA_OUT=$CATALINA_BASE/logs/catalina.out if [ -L $CATALINA_OUT -o ! -f $CATALINA_OUT ]; then ln -sf "$CATALINA_BASE"/logs/catalina.`date '+%Y-%m-%d'`.log $CATALINA_OUT fi
catalina.outを最新のログにしておいたほうが管理しやすいため。
ex) catalina.2008-02-19.log => catalina.out
参照先のURLはtomcat起動時にシンボリックリンク作成してるけど、それだとtomcatを再起動しない限り、catalina.outが古い日付のログになってしまう。なのでこの処理を別のスクリプトにして、cronでも1日1回動かしておく。