今天在tomcat服务器上看了下日志 我去catalina.out 1.4G
[kcw@web1 logs]$ du -sh catalina.out
1.4G catalina.out
于是决定自动分割,每天生成每天的的日志
你可以每次手工或定时(crontab/计划任务)清理 catalina.out 文件,或是规划好日志输出(终究也会有满的时候)。再就是有两种较好的解决方案去真正的切分 catalina.out 文件,让 catalina.out 只存有最新的日志。
一. 改用 Log4J 来输出 Tomcat 日志,借助 Log4J 的各种日志切分的功能。详情可参考: http://baalwolf.iteye.com/blog/1464093,http://tomcat.apache.org/tomcat-6.0-doc/logging.html。
二. Linux 下使用 cronolog 工具来切分 catalina.out
这里重点介绍这种方法,具体步骤如下:
1. 下载安装 cronolog,它的主页 http://cronolog.org. 下载的是源码,安装过程就是 ./configure, make, make install,最后一步可直接把 src/cronolog 执行文件拷入到某个适合的目录,如 /usr/local/sbin/ 目录。
安装cronolog
sudo wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
sudo tar xf cronolog-1.6.2.tar.gz
./configure --prefix=/opt/cronolog
make
make install
cd /opt/cronolog
生成如下目录
info man sbin
修改Catalina.sh
替换
kcw@web1 bin]$ sudo cp catalina.sh catalina.sh.bak 先备份在修改
[kcw@web1 bin]$ pwd
/opt/tomcat/bin
sudo vim catalina.sh
注释掉这一行如下
#touch "$CATALINA_OUT"
找到这段
else
"$_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 \
>> "$CATALINA_OUT" 2>&1 &
替换成
else
"$_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 |/opt/cronolog/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &
重启
[kcw@web1 bin]$ sudo catalina.sh stop
sudo: catalina.sh: command not found
[kcw@web1 bin]$ sudo sh shutdown.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar
[kcw@web1 bin]$ sudo sh startup.
sh: startup.: No such file or directory
[kcw@web1 bin]$ sudo sh startup.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar
查看分割情况
[kcw@web1 tomcat]$ cd logs/
[kcw@web1 logs]$ ls
-rw-r--r-- 1 root root 28757 Oct 9 14:10 catalina-2014-10-09.out
OK到此你的日志自动分割就完成了,以后每天会生成当天时间加日期的日志