修改tomcat配置实现日志按天输出

背景:前两天公司一个大佬离职了,所以领导让我接管离职大佬的手下的一个项目,正好此时业务部门反映一个情况,只能通过去看日志是什么问题,结果,我登上服务器看到日志居然有5个G,我尼玛,我楞尼玛,什么鬼,5个G的catalina.out
这里写图片描述
当时心里十万个草泥马奔腾,也是无奈,虽然心里想着就算把日志下下来可能notepad++也打不开,但是没办法,试一试吧,果然不出意料,文件太大打不开,于是只能通过数据库记得日志一点点排查,索性最后找到原因了,此时问题解决了但是最重要的事情来了,心里暗暗斥责离职大佬的时候就开始着手把tomcat的输出日志进行分割,按天输出,这样以后看日志就不会这么大了,但是按天的话日志文件数量1年就365个就挺庞大,不过鱼和熊掌不可兼得,不过日志输出量不大的小伙伴可以按月分隔,下面说下办法吧。
以下操作姿势均在服务器上搞的!!!

  • 下载工具 :cronolog
  • 编译安装 :
 tar xvf cronolog-1.6.2.tar.gz 
 ./configure 
 make 
 make install
  • 修改tomcat启动脚本:vim catalina.sh
修改
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
删除生成日志文件,注释掉:#touch "$CATALINA_OUT"
修改启动脚本参数:
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 &
  • 重启Tomcat

    查看/logs就可以看到日志愉快的按天输出啦啦啦啦啦啦………………

你可能感兴趣的:(tomcat)