如何设置Ubuntu Tomcat日志的保留策略
导读:如何设置Ubuntu Tomcat日志保留策略 在Ubuntu系统上,Tomcat日志保留策略可通过日志轮转(控制日志文件数量与保留时间)、日志级别调整(减少不必要的日志输出)等方式实现。以下是具体方法: 1. 通过logging.prop...
如何设置Ubuntu Tomcat日志保留策略
在Ubuntu系统上,Tomcat日志保留策略可通过日志轮转(控制日志文件数量与保留时间)、日志级别调整(减少不必要的日志输出)等方式实现。以下是具体方法:
1. 通过logging.properties
配置日志滚动与保留(JULI日志系统)
Tomcat默认使用Java Util Logging(JULI)系统,其配置文件位于$CATALINA_BASE/conf/logging.properties
(如/opt/tomcat/conf/logging.properties
)。通过修改以下参数可实现日志滚动与保留:
java.util.logging.FileHandler.limit
:单个日志文件的最大大小(单位:字节),超过则滚动创建新文件。例如,设置为10MB:java.util.logging.FileHandler.limit = 10485760 # 10MB
java.util.logging.FileHandler.count
:保留的旧日志文件数量。例如,保留5个旧文件:java.util.logging.FileHandler.count = 5
java.util.logging.FileHandler.pattern
:日志文件命名模式,支持%g
(滚动序号)。例如:java.util.logging.FileHandler.pattern = ${ catalina.base} /logs/catalina.%g.out
*.maxDays
(可选):部分日志处理器支持直接设置日志保留天数(如catalina.org.apache.juli.AsyncFileHandler.maxDays
),但需注意并非所有版本都支持。
生效步骤:修改后保存文件,重启Tomcat使配置生效:
./bin/shutdown.sh &
&
./bin/startup.sh
此方法适用于JULI日志系统,若使用Log4j等第三方日志框架,需参考对应文档配置。
2. 使用logrotate
工具自动化管理日志(推荐)
logrotate
是Linux系统自带的日志管理工具,可自动完成日志轮转、压缩、删除等操作,无需重启Tomcat。
- 安装logrotate(若未安装):
sudo apt-get install logrotate
- 创建Tomcat专用配置文件:
在/etc/logrotate.d/
目录下创建tomcat
文件,内容如下(以catalina.out
为例):/opt/tomcat/logs/catalina.out { daily # 每天轮转 rotate 7 # 保留7天日志 compress # 压缩旧日志(如catalina.out.1.gz) missingok # 日志文件不存在时不报错 notifempty # 日志为空时不轮转 copytruncate # 复制原日志后清空,避免重启Tomcat }
- 测试配置:
运行以下命令模拟日志轮转(无实际修改):sudo logrotate -d /etc/logrotate.d/tomcat
- 手动触发轮转(可选):
若需立即应用配置,运行:sudo logrotate -f /etc/logrotate.d/tomcat
logrotate
会自动按/etc/cron.daily/logrotate
的定时任务(每天执行)管理日志,无需额外配置。
3. 配置Tomcat访问日志保留
Tomcat的访问日志(记录HTTP请求)需通过server.xml
文件配置,同样支持轮转与保留。
- 修改
server.xml
:
找到< Host>
标签,添加或修改AccessLogValve
配置:< Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" rotatable="true" # 启用轮转 maxDays="30" # 保留30天日志 pattern="%h %l %u %t "%r" %s %b" />
rotatable="true"
:启用日志轮转;maxDays="30"
:保留30天日志(需Tomcat 8.5+版本支持)。
- 生效步骤:修改后保存文件,重启Tomcat。
4. 控制日志输出量(减少不必要的日志)
通过调整日志级别,可减少Tomcat输出的日志数量,间接降低日志文件大小。
- 修改
logging.properties
:
找到对应组件的日志级别(如org.apache.catalina
),将级别从INFO
调整为WARNING
或ERROR
(级别越高,输出越少):org.apache.catalina.level = WARNING org.apache.catalina.startup.level = WARNING
- 生效步骤:修改后保存文件,重启Tomcat。
注意事项
- 优先使用
logrotate
:相比手动脚本,logrotate
更稳定且集成于系统,推荐作为主要管理方式; - 备份重要日志:长期保留的日志建议备份至远程存储(如S3、NAS),防止本地磁盘故障导致数据丢失;
- 测试配置:修改配置前建议备份原始文件(如
logging.properties
、server.xml
),避免配置错误导致Tomcat无法启动。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何设置Ubuntu Tomcat日志的保留策略
本文地址: https://pptw.com/jishu/719160.html