一、问题:当服务部署Tomcat后,运行时间久了,catalina.out文件就会越来越大,最终导致服务器磁盘空间不足,影响系统的稳定性。
二、解决方案:
1、修改Tomcat的日志配置,配置日志的级别:
(1)、Tomcat日志分类:
(2)、Tomcat日志级别:
SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)
(3)、配置日志级别:
tomcat根目录:conf/logging.properties,默认是FINE,具体可以依据项目实际情况来配置
2、修改项目的日志配置,配置日志输出的级别:(下面以Log4j日志组件为例)
(1)日志级别:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL
(2)常用级别及说明:
(3)、参考案例如下(可依据项目实际情况进行配置):
%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{50} - %msg%n
3、清理catalina.out文件(除非不再需要Tomcat日志,否则不建议)
(1)、手动清理:切换到tomcat的logs下,运行如下命令清空日志数据
echo " " > catalina.out
(2)、自动清理:编写脚本,放入计划任务中,定时清理
crontab -e #添加任务 0 24 * * * sh /root/clean_catalina.out.sh vim clean_catalina.out.sh #定义任务执行的脚本内容 #!/usr/bin/bash echo " " > /usr/local/tomcat/logs/catalina.out service crond restart #重启crontab 服务,使修改生效
(3)、对catalina.out日志文件进行切分,这样就可以通过脚本对时间久远的日志进行定时清理:
常用的切分技术:cronolog、logrotate等
将catalina.out按天进行切分,如:catalina.2022-05-15.out、catalina.2022-05-16.out,然后可以通过定时任务对某个时间段内的日志进行清理
三、总结:
综上所述,遇到Tomcat日志文件catalina.out占用磁盘空间过大的情况,可以从以下三方面入手:
如有更好的方案,欢迎评论交流