tomcat默认日志文件为catalina.out,随着系统运行时间的增加,该日志文件大小会不断增大,甚至增大到G级。不仅会导致我们无法使用常规工具查找系统问题,而且会影响tomcat性能(比如我在维护中遇到的出现web页面文件上传<swfupload>错误:404)。
采用cronlolog工具对日志拆分的方式处理该问题
1、下载cronolog工具,我下载的版本是cronolog-1.6.2
2、将下载好的文件解压,tar xvzf cronolog-1.6.2.tar.gz
3、切换到解压后的文件目录下:cd cronolog-1.6.2
4、初始化和编译安装
./configure --prefix=/usr/local/cronolog
#make
#make install
#ln -s /usr/local/cronolog/sbin/* /usr/local/sbin/
5、查看安装版本
#cronolog --version
6、修改tomcat的启动文件(tomcat目录/bin/catalina.sh)
vi catalina.sh
(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.%Y-%m-%d.out
fi
(2)删除生成日志文件
注释:
touch "$CATALINA_OUT"
为:
#touch "$CATALINA_OUT"
(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 &
7、重启tomcat
tomcat输出日志文件分割成功,输出log文件格式为:catalina.2015-06-30.out