在 Ubuntu 上 Tomcat 日志“丢失”通常不是真的被删除了,而是位置、配置或轮转方式发生了变化。下面按最常见原因 → 排查步骤给你一个系统性的说明。
Tomcat 不同版本日志位置不同:
| Tomcat 版本 | 日志目录 |
|---|---|
| Tomcat 8/9 | /var/log/tomcat9/ |
| Tomcat 10 | /var/log/tomcat10/ |
| 手动安装 | tomcat/logs/ |
✅ 检查:
ls -lh /var/log/tomcat*/
ls -lh /opt/tomcat/logs/
Ubuntu 使用 systemd 管理 Tomcat:
catalina.out 可能不再生成查看方式:
journalctl -u tomcat9 --since "1 hour ago"
或:
journalctl -u tomcat9 -f
✅ 这是正常现象,不是日志丢失
Tomcat 使用:
conf/logging.properties
如果配置被改坏,日志可能:
重点检查:
1catalina.org.apache.juli.AsyncFileHandler.directory
Ubuntu 默认会轮转 Tomcat 日志:
/etc/logrotate.d/tomcat9
常见问题:
.gz查看:
ls /var/log/tomcat9/*.gz
如果 Tomcat 用户无权写目录:
ps aux | grep tomcat
通常用户是:
tomcat
tomcat9
修复权限:
sudo chown -R tomcat9:tomcat9 /var/log/tomcat9
sudo chmod 750 /var/log/tomcat9
如果你用的是 Spring Boot / 自定义应用:
常见位置:
/var/log/your-app/
./logs/
检查:
find / -name "*.log" 2>/dev/null | grep -v proc
# 1. 确认 Tomcat 是否运行
systemctl status tomcat9
# 2. 查看 systemd 日志
journalctl -u tomcat9 -n 100
# 3. 查看 Tomcat 日志目录
ls -lh /var/log/tomcat*/
# 4. 查看是否被轮转
ls -lh /var/log/tomcat*.gz
# 5. 检查配置
cat /etc/tomcat9/logging.properties
编辑:
sudo systemctl edit tomcat9
添加:
[Service]
StandardOutput=append:/var/log/tomcat9/catalina.out
StandardError=append:/var/log/tomcat9/catalina.out
然后:
sudo systemctl daemon-reload
sudo systemctl restart tomcat9
Ubuntu 上 Tomcat 日志“丢失”,90% 是因为 systemd 接管了输出,或日志目录/轮转配置变化,而不是真的被删除。
如果你愿意,可以把下面信息发我,我可以精准定位: