在Linux系統下,tomcat日誌默認輸出到catalina.out,隨着時間的推移,catalina.out會持續增大,不方便管理和查詢。本文將介紹如何用 cronolog工具進行日誌按日期分割。
一、安裝cronolog
1、wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
2、解壓縮 tar zxvf cronolog-1.6.2.tar.gz
3、cd cronolog-1.6.2
4、運行安裝
./configure
make && make install
5、查看cronolog安裝後所在目錄(驗證安裝是否成功)
# which cronolog
一般情況下顯示爲:/usr/local/sbin/cronolog
二、進入Tomcat的bin目錄,打開catalina.sh文件,修改下面行中的內容:
1、把touch "$CATALINA_OUT"這行註釋掉
2、只需要把else後的
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
改爲:
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
| /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
# touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs=\"$JAVA_ENDORSED_DIRS\" -classpath \"$CLASSPATH\" \
-Djava.security.manager \
-Djava.security.policy==\"$CATALINA_BASE/conf/catalina.policy\" \
-Dcatalina.base=\"$CATALINA_BASE\" \
-Dcatalina.home=\"$CATALINA_HOME\" \
-Djava.io.tmpdir=\"$CATALINA_TMPDIR\" \
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
else
eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs=\"$JAVA_ENDORSED_DIRS\" -classpath \"$CLASSPATH\" \
-Dcatalina.base=\"$CATALINA_BASE\" \
-Dcatalina.home=\"$CATALINA_HOME\" \
-Djava.io.tmpdir=\"$CATALINA_TMPDIR\" \
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
| /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
3、重啓tomcat,查看是否生效