给客户部署完项目后,时间久了,Tomcat下的catalina.out日志就会越来越大,以至于很难打开,并且文件庞大之后也影响服务器的运行效率。从网上找了一些资料,使用cronolog工具能够让Tomcat根据日期输出日志,这不仅看上去很有调理,查看日志的时候清晰,日志的文件大小也能够控制住。
下面就说说具体操作步骤吧:
一、下载并安装cronolog工具
输入网址下载cronolog工具,下载 .tar.gz 格式的 >> http://cronolog.org/download/index.html
输入命令将下载的文件进行解压缩 >> # tar xvzf cronolog-1.6.2.tar.gz
进入到解压缩后的cronolog-1.6.2目录下 >> # cd cronolog-1.6.2
输入命令,进行安装:
# ./configure
# make
# make install
注意 make install 需要root权限
查看cronolog安装后的所在目录,也是验证cronolog是否安装成功了
# which cronolog
或
# whereis cronolog
一般情况下,目录为 >> /usr/local/sbin/cronolog
二、修改Tomcat下bin中的catalina.sh文件
想要实现按日期输出catalina.out,就要修改一下catalina.sh中的内容
1、找到如下内容
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
注意在文件中有两处上面的内容
2、将其修改为
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
|/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >>/dev/null &
特别注意:修改此文件时,最好用可视化界面,用gedit编辑,如果 “ \ ” 显示为蓝色字体,则在启动Tomcat时,可能会报错误:syntax error near unexpected token `|' 。多次试验证明,在 “ \ ” 后不允许有空格,直接换行。
注意: “ >>/dev/null & ” ,此处 “>>” 和 “/” 之间没有空格。不然启动可能会造成Tomcat启动不成功,在日志会输出以下错误信息 -- Bootstrap: command " " does not exist.
3、找到下面内容,并注释掉
touch "$CATALINA_BASE"/logs/catalina.out
保存此文件
之后就可以重启Tomcat了,catalina.out就是按照日期输出日志了,如catalina.2013-05-01.out