在 Ubuntu 上配置 Tomcat 日志,主要涉及 logging.properties、server.xml 以及可选的 log4j / logback。下面按常见场景系统说明。
Tomcat 默认使用 JUL(java.util.logging),常见日志有:
| 日志 | 说明 |
|---|---|
| catalina.out | 标准输出(stdout/stderr),默认不自动切割 |
| catalina.YYYY-MM-DD.log | JUL 生成的运行日志 |
| localhost.*.log | 应用级日志 |
| manager.*.log | manager 应用 |
| host-manager.*.log | host-manager 应用 |
/opt/tomcat/conf/logging.properties
或(apt 安装):
/etc/tomcat9/logging.properties
示例:
.level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = WARNING
org.apache.catalina.startup.level = INFO
常用级别:
SEVEREWARNINGINFOFINE / FINER / FINEST(调试)默认在:
logs/
可改为绝对路径:
1catalina.org.apache.juli.AsyncFileHandler.directory = /var/log/tomcat9
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
Ubuntu 官方推荐方式。
sudo vim /etc/logrotate.d/tomcat9
内容示例:
/var/log/tomcat9/catalina.out {
daily
rotate 7
missingok
notifempty
compress
copytruncate
dateext
}
sudo logrotate -f /etc/logrotate.d/tomcat9
修改 bin/catalina.sh:
CATALINA_OUT=/dev/null
⚠️ 不推荐生产环境,可能丢失错误信息。
sudo vim /opt/tomcat/conf/server.xml
示例:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="combined"
rotate="true"
renameOnRotate="true" />
| 模式 | 说明 |
|---|---|
| common | 基础访问日志 |
| combined | 包含 User-Agent、Referer |
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.4.14</version>
</dependency>
<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>
| 类型 | 路径 |
|---|---|
| apt 安装 | /var/log/tomcat9 |
| 手动安装 | $CATALINA_HOME/logs |
# 查看最新日志
tail -f /var/log/tomcat9/catalina.out
# 查看访问日志
tail -f /var/log/tomcat9/localhost_access_log.txt
# 查看错误
grep -i error /var/log/tomcat9/catalina.*
✅ 使用 logrotate 管理 catalina.out
✅ 应用日志使用 logback
✅ 开启 AccessLog
✅ 日志级别 INFO,调试时 FINE
如果你愿意,我可以:
你现在用的是 Tomcat 几?apt 还是手动安装?