在 Debian 下配置 Tomcat 日志,通常涉及 ** logging.properties(JULI)**、log4j / logback(应用日志) 以及 systemd / catalina.out 几个方面。下面按常见场景说明。
Tomcat 默认使用 JULI(Java Util Logging),配置文件在:
/etc/tomcat9/logging.properties
# 或(源码安装)
$TOMCAT_HOME/conf/logging.properties
handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
常用级别(从多到少):
SEVERE > WARNING > INFO > CONFIG > FINE > FINER > FINEST
例如只记录 INFO:
.level = INFO
org.apache.catalina.level = WARNING
Debian 下:
catalina.out 一般在:/var/log/tomcat9/catalina.out
Tomcat 通常由 systemd 管理:
systemctl status tomcat9
日志可直接看:
journalctl -u tomcat9
如果你不想写 catalina.out,可在:
/etc/systemd/system/tomcat9.service.d/
覆盖配置,或改 CATALINA_OUT。
Debian 用 logrotate:
/etc/logrotate.d/tomcat9
示例:
/var/log/tomcat9/*.log
/var/log/tomcat9/catalina.out {
daily
missingok
rotate 14
compress
delaycompress
notifempty
copytruncate
}
⚠️ Tomcat 不自带日志切割,
copytruncate很关键
放:
$WEBAPP/WEB-INF/classes/logback.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.log.gz</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>
| 内容 | 路径 |
|---|---|
| 配置 | /etc/tomcat9/ |
| 日志 | /var/log/tomcat9/ |
| 应用 | /var/lib/tomcat9/webapps/ |
| service | tomcat9 |
logging.properties 必须重启 Tomcatchown -R tomcat:tomcat /var/log/tomcat9
tail -f /var/log/tomcat9/catalina.out
如果你能告诉我:
我可以给你一份可直接用的配置。