Tomcat日志保留期限设置指南
一 核心配置总览
| 日志类型 | 配置文件 | 关键参数 | 说明 |
|---|---|---|---|
| catalina、localhost、manager、host-manager | conf/logging.properties | maxDays(如:7、15、30) | 控制按天滚动的日志保留天数 |
| 访问日志 AccessLog | conf/server.xml | maxDays(如:30) | 控制访问日志保留天数 |
| catalina.out 标准输出 | 操作系统工具 | logrotate 的 rotate 7 等 | Tomcat 默认不切割此文件,需借助系统工具轮转与清理 |
二 配置步骤
修改 JULI 日志保留天数(catalina、localhost、manager、host-manager)
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.suffix = .log
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 7
1catalina.org.apache.juli.AsyncFileHandler.rotatable = true
1catalina.org.apache.juli.AsyncFileHandler.formatter = java.util.logging.SimpleFormatter
2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
2localhost.org.apache.juli.AsyncFileHandler.suffix = .log
2localhost.org.apache.juli.AsyncFileHandler.maxDays = 7
2localhost.org.apache.juli.AsyncFileHandler.rotatable = true
2localhost.org.apache.juli.AsyncFileHandler.formatter = java.util.logging.SimpleFormatter
3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.org.apache.juli.AsyncFileHandler.directory}
3manager.org.apache.julia.AsyncFileHandler.prefix = manager.
3manager.org.apache.juli.AsyncFileHandler.suffix = .log
3manager.org.apache.juli.AsyncFileHandler.maxDays = 7
3manager.org.apache.juli.AsyncFileHandler.rotatable = true
3manager.org.apache.juli.AsyncFileHandler.formatter = java.util.logging.SimpleFormatter
4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
4host-manager.org.apache.juli.AsyncFileHandler.suffix = .log
4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 7
4host-manager.org.apache.juli.AsyncFileHandler.rotatile = true
4host-manager.org.apache.juli.AsyncFileHandler.formatter = java.util.logging.SimpleFormatter
修改访问日志保留天数(AccessLogValve)
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b"
maxDays="30" />
处理 catalina.out 的保留(Linux 推荐 logrotate)
/usr/local/tomcat/logs/catalina.out {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
sudo logrotate -d /etc/logrotate.d/tomcat # 调试
sudo logrotate -f /etc/logrotate.d/tomcat # 强制执行
说明:logrotate 由系统定时任务每日运行,适合控制未切割的 catalina.out 文件大小与保留天数。
三 常见保留期限示例
四 验证与注意事项