解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题

由于Tomcat在默认情况下会将没有经过配置的web应用所产生的日志输出已经其本身的日志内容都输出到这个文件中,那么随着时间的推移,这个文件的尺寸将会越来越大,当需要检查日志内容时间会导致文件难以打开,而且同时tomcat依旧在不断的向文件中输入内容,这也会降低tomcat的性能。下面利用一个工具来将tomcat产生的catalina.out文件根据日期来分割,将每天产生的日志存放在一个独立的文件中,这样单个log文件就不会太大,而且过期的日志文件可以根据情况在不需要的时间删除掉,或者备份到其他地方。

这里需要一个工具叫cronolog,这个工具的作用是将标准输出中的内容重定向到文件,但是可以根据规则对文件命名,这样我们就可以将标准输出中的内容重定向到根据日期命名的log文件中了,然后只要将tomcat的日志输出指向标准输出就可以搞定问题了。下面是具体配置步骤

一、获取与安装cronolog工具

1. 到这里(http://cronolog.org/download/index.html)下载最新版本,本文编写时的最新版本是1.6.2版本。

2. 将下载好的文件解压缩,tar xvzf cronolog.tar.gz

3. 切换到解压缩之后的cronolog目录中

4. 初始化和编译安装

./configure --prefix=/usr/local/cronolog (这里--prefix后面的路径是你希望该工具的安装目标路径)

./make

./make install

 

二、修改tomcat的启动文件(tomcat/bin/catalina.sh)

1. 找到文件中的如下内容(注意:有两处)

 

org.apache.catalina.startup.Bootstrap "$@" start /
>> "$CATALINA_BASE"/logs/catalina.out 2&1 &


将其修改成如下格式:

 

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

2. 注释如下内容

 

#touch "CATALINA_BASE"/logs/catalina.out

 

然后重新启动tomcat就可以完成任务了

posted on 2013-06-21 09:58  阳光总在风雨后001  阅读(5893)  评论(0编辑  收藏  举报

导航