代码改变世界

Tomcat关闭日志catalina.out

2020-09-08 11:23  猎手家园  阅读(1870)  评论(0编辑  收藏  举报

事件起因:有一天,接收服务器报警,说硬盘空间不够了。可我明明配了200G的空间,只挂了一个简单的业务系统啊?

最后查到,原来一个名为catalina.out文件占了120多G。

 

经过查询资料,了解到catalina.out文件原来是tomcat自动产生的,运行久了会越来越大,对系统的稳定造成了一定的影响。

可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息。

catalina.org.apache.juli.FileHandler.level = WARNING
catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
catalina.org.apache.juli.FileHandler.prefix = catalina.

将level级别设置成WARNING就可以大量减少日志的输出,当然也可以设置成OFF,直接禁用掉。

日志的级别有:SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

官方文档说明:http://tomcat.apache.org/tomcat-8.0-doc/logging.html

 

两个比较简单粗暴的方法:

1、直接删除掉:rm -rf catalina.out

但是每次启动的时候都会重新生成,我的办法是写到启动脚本里,在启动业务后自动执行删除。

 

2、存档+清空

使用cron每天来备份当前的catalina.out,然后清空他的内容;

#!/bin/sh

y=`date "+%Y"`
m=`date "+%m"`
d=`date "+%d"`
cd /PATH /tomcat/logs
cp catalina.out catalina.out.$y$m$d
echo > catalina.out
exit

 

还有没有更好的办法,期待高人给个指点,谢谢!