Linux Tomcat日志轮转配置指南
一 方案总览与选择
二 使用 logrotate 管理 catalina.out(推荐)
/usr/local/tomcat/logs/catalina.out {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
关键参数说明:
三 使用 cronolog 按时间自动切割 catalina.out
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
tar xzf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure --prefix=/usr/local/cronolog
make && sudo make install
org.apache.catalina.startup.Bootstrap "$@" start >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
替换为(注意有两处需要修改):org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | \
/usr/local/cronolog/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
重启 Tomcat 后,将自动生成按日期命名的日志文件(如 catalina.2025-12-07.out)。四 使用 Log4j 2 按日期滚动(Tomcat 10 或应用侧)
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<RollingFile name="RollingFile"
fileName="logs/app.log"
filePattern="logs/app-%d{yyyy-MM-dd}.log.gz">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
<DefaultRolloverStrategy max="30"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
要点:
五 验证与运维要点