tomcat catalina.log日志太大问题

        很久没用过tomcat部署服务了,以前都直接用jar包运行启动,简单又便捷,几年后再次用起来,才发现一些问题!

         这次项目是物联网相关的设备通讯、数据采集等,所以一些日志打的比较频繁也很多,客户反应tomcat里的日志量巨大,一天达到七八个G,然后分配的服务器磁盘也不够大,结果每天早上都需要手动删日志再重启tomcat,客户体验特别不好。

        一开始我还以为只是日志打的太多,将程序日志优化了一番发包给客户,结果第二天照样卡死,磁盘空间不足。好吧,让客户截图看tomcat日志才发现,只有一个catalina.out鹤立鸡群!尼玛,巨坑!其他日志都很小。再到咱们开发环境瞧了瞧,还真是!catalina.out日志里包含每天的运行日志,没分家,也没按日重启,也就是只要tomcat不挂,就会一直追加日志,这太恐怖了!

       然后百度了下,最简单的就是撤了tomcat,让log4j去管理日志,代码配置下就成,但是。。。算了,这个客户会叼人;另一种方法就是切割日志,按天存放。要么装个软件,让它去做运维,要么自定义tomcat的jar ,最后我选择了装软件。。。

      下面都是百度来了,不过有个地方报错,就做了修改:

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)
vim 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"
   为:
echo "log"

(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.2021-11-05.out,
再将原catalina.out日志文件删除

参考文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值