在 Ubuntu 上优化 Tomcat 日志,一般从日志级别、日志格式、日志滚动、磁盘与性能、集中管理几个方面入手。下面按实用顺序说明。
conf/logging.propertiesTomcat 默认使用 JULI(java.util.logging)
常见级别:
SEVERE(高)WARNINGINFO(默认)FINE / FINER / FINEST(调试用)示例(减少无用日志):
.level = INFO
org.apache.catalina.level = WARNING
org.apache.coyote.level = WARNING
生产环境不建议开
FINE或以上
Ubuntu 自带 logrotate
创建配置:
sudo vim /etc/logrotate.d/tomcat
示例:
/opt/tomcat/logs/catalina.out {
daily
rotate 7
missingok
notifempty
compress
copytruncate
}
copytruncate避免 Tomcat 重启
测试:
sudo logrotate -d /etc/logrotate.d/tomcat
catalina.out 主要来自:
System.out.println建议:
System.out示例(log4j2.xml):
<RollingFile name="File"
fileName="logs/app.log"
filePattern="logs/app-%d{MM-dd}.log.gz">
<PatternLayout pattern="%d %p %c{1.} %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy/>
</Policies>
</RollingFile>
conf/server.xml
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="access_log"
suffix=".log"
pattern="%h %l %u %t "%r" %s %b"
rotatable="true"
maxDays="7"/>
优化建议:
maxDays="7" 自动清理ext4 + noatime✅ logging.properties 级别合理
✅ catalina.out 有 logrotate
✅ 无 System.out
✅ access log 有保留策略
✅ 使用异步日志
如果你愿意,可以告诉我:
我可以给你针对性配置。