用 Cronolog 切割 Tomcat 的 catalina.out 日志

用 Cronolog 切割 Tomcat 的 catalina.out 日志

Cronolog 是一个小巧高效的日志文件处理工具,可以实现自动的按规则生成周期性的日志文件
安装 cronolog 命令如下:

1
2
3
4
5
6
wget ftp://de.aminet.net/macports/distfiles/cronolog-devel/cronolog-1.7.0-beta.tar.gz
tar zxvf cronolog-1.7.0-beta.tar.gz
cd cronolog-1.7.0
./configure
make install
which cronolog

也可使用 yum 进行安装
设置 catalina.out 位置,修改 catalina.sh:

1
2
3
4
5
6
7
8
# Add on extra jar files to CLASSPATH
if [ ! -z "$CLASSPATH" ] ; then
CLASSPATH="$CLASSPATH":
fi
CLASSPATH="$CLASSPATH""$CATALINA_HOME"/bin/bootstrap.jar
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi

为:

1
2
3
4
5
6
7
8
# Add on extra jar files to CLASSPATH
if [ ! -z "$CLASSPATH" ] ; then
CLASSPATH="$CLASSPATH":
fi
CLASSPATH="$CLASSPATH""$CATALINA_HOME"/bin/bootstrap.jar
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT=/mnt/logs/%Y-%m-%d.out
fi

配置 cronolog 切割日志,修改 catalina.sh

1
2
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"

为:

1
2
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
| /usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

(有两处地方需要修改),此处的 /usr/sbin/cronolog 可以通过which cronolog查看,配置完毕启动 Tomcat 生效