centos 6.5 tomcat的catalina.out日志过大,分割tomcat 7日志

centos 6.5 tomcat的catalina.out日志过大,分割tomcat 7日志

 

第一种解决方案

安装cronolog工具,安装位置默认为:/usr/sbin/cronolog

由于源没有cronolog软件所有采用第三方源

wget http://ftp.sjtu.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm

rpm -ivh epel-release-6-8.noarch.rpm

yum install -y cronolog

修改398行可注释掉,如
vim catalina.sh +398
#touch “$CATALINA_OUT”
修改catalina.sh配置,对于tomcat7的文件,在411行、420行两处

vim catalina.sh +411

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

修改成

org.apache.catalina.startup.Bootstrap “$@” start 2>&1 \
|/usr/sbin/cronolog “$CATALINA_BASE”/logs/catalina-%Y-%m-%d.out>> /dev/null &

 

 

另一个解决方案:减少catalina.out输出。

一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响。
可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息。

1catalina.org.apache.juli.FileHandler.level = WARNING
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

将level级别设置成WARNING就可以大量减少日志的输出,当然也可以设置成OFF,直接禁用掉。

一般日志的级别有:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

 

 

以 Tomcat 6.0.24 的版本为例

2.1  第一步

if [ -z “$CATALINA_OUT” ] ; then

CATALINA_OUT=”$CATALINA_BASE”/logs/catalina.out

fi

修改为

if [ -z “$CATALINA_OUT” ] ; then

CATALINA_OUT=”$CATALINA_BASE”/logs/catalina.out.%Y-%m-%d      日期也可设成 date +%Y-%m-%d.out

fi

2.2  第二步

touch “$CATALINA_OUT”

改为

#touch “$CATALINA_OUT”

2.3  第三步

org.apache.catalina.startup.Bootstrap “$@” start \

>> “$CATALINA_OUT”   2>&1 &

修改为

org.apache.catalina.startup.Bootstrap “$@” start 2>&1 \

| /usr/local/sbin/cronolog “$CATALINA_OUT” >> /dev/null &

2.4  重新启动 Tomcat 

service tomcat restart

可以在 Tomcat 的 logs 目录底下找到以系统日期为结尾的 catalina.out.yyyy-mm-dd 的档案,这样子就成功了。

后续就是持续观察看看是不是每天都有产生一个新的 catalina.out.yyyy-mm-dd 档案。然后再安排定期删除这些较旧的log 檔即可。

Leave a Reply

Your email address will not be published. Required fields are marked *