Tomcat 日志切割

Cronolog是一款日志轮循(rotation)工具,可以用它来把Apache、Tomcat等Web服务器上输出的日志切分成按日或月保存的文件。

Cronolog从标准输入中读取日志内容,然后把它们写到按指定格式命名的日志文件中。日志文件的名称可以加入一段日期标记(如Catalina.2009-06-07.out),当日期改变后Cronolog会把之前的日志文件关闭,再打开一个包含新日期的日志文件(如Catalina.2009-06-08.out)。

利用Cronolog可以完美解决tomcat中的catalina.out日志文件不断增大,且不能在tomcat运行期间删除的问题。

需要注意的一个问题是,日期改变后cronolog并不是马上切换日志文件,而是需要有新的日志输出才能触发cronolog切换日志文件。所以如果你想在2009-06-08删除2009-06-07的日志文件,如果从2009-06-08的00:00开始到你执行删除时都没有日志输出,则2009-06-07的日志文件可能仍然被占用着,导致删除失败。

 

(1)首先安装cronolog


yum install cronolog -y

 

 

(2)修改Tomcat配置文件


先停止tomcat服务,然后修改以下文件:

%CATALINA_HOME%/bin/catalina.sh

org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_BASE"/logs/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 &

 

 

修改完毕后重新启动tomcat服务。


你可能感兴趣的:(tomcat,日志切割)