首页 > 其他 > 详细

JDK + Tomcat 安装 + 制作自定义镜像【第 2.1 篇 Tomcat 日志满问题】

时间:2020-05-27 17:27:22      阅读:38      评论:0      收藏:0      [点我收藏+]

问题描述,很多时候我们都会遇到 tomcat 日志满的问题,尤其是catalina.out 可能过段时间会达到几十个G的大小,这个时候千万不要用vi来打开他,会直接暴死。

然而很遗憾的是针对这个问题,tomcat从5 - tomcat9 都没有解决,即10年都没有解决,看来需要 程序员自己想法解决。若不解决,那么catalina.out会越来越大,最终导致磁盘满,

应用出现不稳定的情况,我之前遇到过3次,黄俊也遇到了 基本上这个问题 必须彻彻底底的解决掉。

解决方法1:

https://blog.csdn.net/shaonaozu/article/details/52325589?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-9

https://blog.csdn.net/u012365843/article/details/100039849?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-19.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-19.nonecase

如果Tomcat的catalina.out日志文件不关闭,该文件会记录所有的Tomcat日志信息,时间长了该文件会非常大的,这样会占用很大的磁盘空间的。所以我们一般都是每个项目独自记录想要看到的日志信息,而不是所有的日志信息。

关闭catalina.out打印日志:

1.在Tomcat的bin目录下找到catalina.sh

2.修改catalina.sh中的对应信息

if [ -z "$CATALINA_OUT" ] ; then
  #CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
  CATALINA_OUT=/dev/null
fi

3.保存catalina.sh文件并重启Tomcat就OK了!

 

这种方法虽然可以,但是 程序并不会 向catalina.out里输出日志了,导致开发调试的时候  看不到 任何日志 非常不便于调试,废弃这种方法。

 

解决方案2:既然日志会满,那么能否通过写脚本来定时清除呢,比如每天晚上 12点 清除一次 catalina.out,不需要重启tomcat,因为仅仅是清空了日志,并没有删除文件,tomcat是可以继续写入日志的。

1. 需要安装centos定时器软件,

yum install crontabs

技术分享图片

 

 

 

2.检查 这个软件是否开机自动启动了。

systemctl list-unit-files |grep crond   检查是否存在这个服务

systemctl status crond.service   检查 这个服务当前的状态

 

技术分享图片

 

技术分享图片

 

 

3. 编写定时清空 catalina.out 的linux脚本。

#!/bin/sh

echo -n "" > /usr/local/tomcat/apache-tomcat-9.0.31/logs/catalina.out

exit

 

技术分享图片

 

JDK + Tomcat 安装 + 制作自定义镜像【第 2.1 篇 Tomcat 日志满问题】

原文:https://www.cnblogs.com/del88/p/12974556.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!