在 Debian 系统上配置 Tomcat 日志,主要涉及 logging.properties(JULI 日志) 和可选的 log4j / logback。下面按最常见、最实用的方式一步一步说明。
Tomcat 常见日志有 3 类:
catalina.out
catalina.YYYY-MM-DD.log
localhost / manager / host-manager 日志
如果是 apt 安装:
/etc/tomcat9/
/var/log/tomcat9/
/var/lib/tomcat9/
/usr/share/tomcat9/
如果是 官方 tar.gz 安装:
/opt/tomcat/
下面以 Tomcat 9 + Debian 为例说明。
sudo nano /etc/tomcat9/logging.properties
核心内容示例(推荐):
handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler
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.rotatable = true
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 30
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
✅ 说明:
rotatable=true:按天滚动maxDays=30:保留 30 天FINE 可调为 INFODebian 默认 catalina.out 不会自动切割。
sudo nano /etc/logrotate.d/tomcat9
内容示例:
/var/log/tomcat9/catalina.out {
daily
rotate 30
missingok
notifempty
compress
copytruncate
dateext
}
sudo logrotate -d /etc/logrotate.d/tomcat9
✅ 优点:
修改 systemd 服务:
sudo systemctl edit tomcat9
追加:
[Service]
StandardOutput=null
StandardError=journal
然后重启:
sudo systemctl restart tomcat9
⚠️ 缺点:看不到控制台日志
| 级别 | 说明 |
|---|---|
| SEVERE | 严重错误 |
| WARNING | 警告 |
| INFO | 默认 |
| FINE | 调试 |
| FINER | 更详细 |
.level = INFO
如果你部署的是 Spring Boot / Java Web 项目:
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/tomcat9/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/var/log/tomcat9/app.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<root level="INFO">
<appender-ref ref="FILE"/>
</root>
</configuration>
sudo chown -R tomcat9:tomcat9 /var/log/tomcat9
sudo chmod 750 /var/log/tomcat9
sudo systemctl restart tomcat9
查看日志:
tail -f /var/log/tomcat9/catalina.out
✅ 使用 logging.properties 控制 Tomcat 日志
✅ 使用 logrotate 管理 catalina.out
✅ 应用日志用 logback
✅ 日志保留 30 天
✅ 不记录 DEBUG 级别
如果你愿意,可以告诉我:
我可以给你 完全定制化的配置方案。