一、问题:当服务部署Tomcat后,运行时间久了,catalina.out文件就会越来越大,最终导致服务器磁盘空间不足,影响系统的稳定性。
二、解决方案:
1、修改Tomcat的日志配置,配置日志的级别:
(1)、Tomcat日志分类:
- catalina:标准输出和标准出错,所有输出到这两个位置的都会进入catalina.out
- localhost:localhost.{yyyy-MM-dd}.log主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志,它也是包含tomcat的启动和暂停时的运行日志
- manager:tomcat manager项目专有的日志文件
- host-manager:存放tomcat的自带的manager项目的日志信息
- admin:存放tomcat的自带的admin日志信息
(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)常用级别及说明:
- ERROR:输出错误信息。比如接口访问超时,用try/catch 捕获异常,发生异常的时候log.error输出错误信息
- WARN:输出警告信息,表明具有潜在危害的情况
- INFO:输出提示信息,指定能够突出在粗粒度级别的应用程序运行情况的信息的消息
- DEBUG:输出调试信息,指出细粒度信息事件对调试应用程序是非常有帮助的,一般使用log.debug()进行跟踪调试
(3)、参考案例如下(可依据项目实际情况进行配置):
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="WARNING" />
</root>
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占用磁盘空间过大的情况,可以从以下三方面入手:文章来源:https://www.toymoban.com/news/detail-446775.html
- 调整Tomcat日志级别
- 调整并优化项目的日志记录与日志级别
- 通过定时任务定期清理日志信息
如有更好的方案,欢迎评论交流👏文章来源地址https://www.toymoban.com/news/detail-446775.html
到了这里,关于关于Tomcat服务器catalina.out文件过大的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!