日期:2014-05-16  浏览次数:20644 次

Linux下切分Tomcat的catalina.out日志文件
随着Tomcat的运行,catalina.out文件会越来越大,虽然Tomcat每日会生成一个catalina.ymd.log的文件,但catalina.out主文件仍然不断增加,需要对catalina.out按日切分才好,在网上找了一下,看到一篇《rotating catalina.out in tomcat 5.5 using cronolog》,就用公司的Tomcat配置一下。

cronolog工具已经在服务器上装过,一个对日志切分的小工具,其主页在http://cronolog.org/,我们也用它来切分Apache的日志。

进入Tomcat的bin目录,打开catalina.sh文件,找到tomcat启动的相关行,或者你直接查找catalina.out,一般我们修改下面行中的内容(因为我们一般不会在-security条件下运行),

1    else
2   “$_RUNJAVA” $JAVA_OPTS $CATALINA_OPTS \
3    -Djava.endorsed.dirs=”$JAVA_ENDORSED_DIRS” -classpath “$CLASSPATH” \
4   -Dcatalina.base=”$CATALINA_BASE” \
5    -Dcatalina.home=”$CATALINA_HOME” \
6   -Djava.io.tmpdir=”$CATALINA_TMPDIR” \
7    org.apache.catalina.startup.Bootstrap “$@” start  \
8   >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &
9
10   if [ ! -z "$CATALINA_PID" ]; then
11   echo $! > $CATALINA_PID
12  fi
13  fi

修改
org.apache.catalina.startup.Bootstrap “$@” start  \
>> “$CATALINA_BASE”/logs/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_BASE”/logs/catalina.out
可以注释掉,完成之后重起Tomcat就可以了,在logs目录下可以看到catalina.2009-02-18.out的日志,是按日生成的。