在 Debian 上设置 Tomcat 日志,主要涉及 日志级别、日志路径、日志格式、日志轮转 等。下面按常见场景给你一个完整说明(以 Tomcat 9 / 10 为例,Debian 11/12 通用)。
Tomcat 主要有以下几类日志:
| 日志类型 | 说明 |
|---|---|
| catalina.out | 标准输出(stdout / stderr),最常用 |
| catalina.yyyy-mm-dd.log | 启动、关闭日志 |
| localhost.*.log | 应用级异常 |
| manager.*.log | manager 应用 |
| host-manager.*.log | host-manager 应用 |
| access log | 访问日志(类似 nginx access.log) |
/etc/tomcat9/
/usr/share/tomcat9/
/var/log/tomcat9/
关键配置文件:
/etc/tomcat9/logging.properties
sudo nano /etc/tomcat9/logging.properties
| 级别 | 说明 |
|---|---|
| SEVERE | 严重错误 |
| WARNING | 警告 |
| INFO | 一般信息(默认) |
| FINE | 调试 |
| FINER | 更详细 |
| FINEST | 最详细 |
.level = WARNING
org.apache.catalina.level = WARNING
org.apache.jasper.level = WARNING
org.apache.catalina.level = FINE
修改后重启:
sudo systemctl restart tomcat9
sudo nano /etc/tomcat9/server.xml
<Host> 中添加 / 修改 AccessLogValve<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b %D" />
参数说明:
| 参数 | 说明 |
|---|---|
| directory | 日志目录 |
| prefix | 文件名前缀 |
| suffix | 后缀 |
| pattern | 日志格式 |
| %D | 请求耗时(毫秒,非常有用) |
日志位置:
/var/log/tomcat9/localhost_access_log.2026-01-21.txt
Debian 默认 catalina.out 不会自动切割,容易撑满磁盘。
sudo nano /etc/logrotate.d/tomcat9
示例配置:
/var/log/tomcat9/catalina.out {
daily
rotate 7
missingok
notifempty
compress
copytruncate
su tomcat tomcat
}
测试:
sudo logrotate -d /etc/logrotate.d/tomcat9
sudo mkdir -p /data/tomcat/logs
sudo chown -R tomcat:tomcat /data/tomcat
sudo systemctl edit tomcat9
添加:
[Service]
LogsDirectory=/data/tomcat/logs
或直接修改:
sudo nano /lib/systemd/system/tomcat9.service
然后:
sudo systemctl daemon-reload
sudo systemctl restart tomcat9
ls -ld /var/log/tomcat9
确保权限:
sudo chown -R tomcat:tomcat /var/log/tomcat9
在 logging.properties 中:
java.util.logging.ConsoleHandler.encoding = UTF-8
✅ 关闭 FINE / FINER
✅ 开启 access log
✅ 配置 logrotate
✅ 不记录 catalina.out 业务日志
如果你愿意,可以告诉我:
我可以给你一份 完全贴合你环境的配置。