在 Debian 下配置 Tomcat 日志,主要涉及 logging.properties(JULI)、log4j / logback(应用日志) 以及 systemd / init 日志。下面按常见场景系统说明。
/etc/tomcat9/logging.properties
或(取决于版本):
/usr/share/tomcat9/conf/logging.properties
Debian 10+ 默认使用 Tomcat 9
| 日志 | 作用 |
|---|---|
| catalina | 主日志(启动、关闭、异常) |
| localhost | 应用级日志 |
| manager | Manager 应用 |
| host-manager | Host Manager |
| admin | 管理日志 |
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.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
✅ 重启生效:
systemctl restart tomcat9
/var/log/tomcat9
ls -ld /var/log/tomcat9
确保:
drwxr-x--- tomcat9 adm
如权限不对:
chown -R tomcat9:adm /var/log/tomcat9
chmod 750 /var/log/tomcat9
Debian 自带 Tomcat 的 logrotate 配置:
/etc/logrotate.d/tomcat9
示例:
/var/log/tomcat9/catalina.out {
daily
rotate 7
compress
delaycompress
missingok
notifempty
copytruncate
}
✅ 测试:
logrotate -d /etc/logrotate.d/tomcat9
journalctl -u tomcat9 -f
journalctl -u tomcat9 --since "5 min ago"
logback-spring.xml
<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>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="FILE"/>
</root>
</configuration>
java.util.logging.ConsoleHandler.encoding = UTF-8
✅ 修改日志配置
/etc/tomcat9/logging.properties
✅ 日志目录
/var/log/tomcat9
✅ 重启
systemctl restart tomcat9
✅ 查看实时日志
tail -f /var/log/tomcat9/catalina.out
journalctl -u tomcat9 -f
如果你愿意,可以告诉我:
我可以给你一份 完全定制化的日志配置方案。