Linux下Tomcat日志轮转主要依赖logrotate工具,通过配置文件实现日志的定期切割、压缩和删除,核心策略如下:
logrotate(需安装,部分系统默认已安装)。/etc/logrotate.d/目录下创建tomcat配置文件(如/etc/logrotate.d/tomcat9),指定日志路径(如/var/log/tomcat9/*.log或/usr/local/tomcat/logs/catalina.out)。daily:按天轮转(可改为weekly/monthly)。rotate 7:保留最近7个日志文件。compress:轮转后压缩为.gz格式。missingok:日志文件不存在时不报错。notifempty:仅轮转非空日志文件。copytruncate:复制原日志后截断,避免重启服务。size 100M(当日志文件≥100MB时触发)。postrotate中重启Tomcat或发送信号(如kill -USR1)确保日志重新写入。logrotate默认通过cron每日自动执行,无需手动干预。示例配置(针对catalina.out):
/usr/local/tomcat/logs/catalina.out {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
配置后可通过logrotate -d /etc/logrotate.d/tomcat测试语法,或logrotate -f手动执行。