Debian 上 Tomcat 日志“丢失”通常不是真的被删了,而是位置、配置或轮转机制和预期不一致。下面按最常见原因逐条说明,并给出排查方法。
在 Debian 上,通过 apt 安装的 Tomcat(如 tomcat9、tomcat10)不会用官方包的 logs/ 目录。
/var/log/tomcat9/
而不是:
/opt/tomcat/logs/
常见文件:
catalina.outcatalina.YYYY-MM-DD.loglocalhost.YYYY-MM-DD.loghost-manager.*manager.*✅ 检查:
ls -l /var/log/tomcat9/
Debian 的 Tomcat 通常用 systemd 启动,而不是 catalina.sh。
catalina.out 可能为空查看方式:
journalctl -u tomcat9
journalctl -u tomcat9 --since "1 hour ago"
如果你只盯 catalina.out,会以为“日志丢失”。
Tomcat 使用:
/etc/tomcat9/logging.properties
如果该文件:
OFF就会导致几乎无日志。
✅ 检查:
cat /etc/tomcat9/logging.properties
重点看:
.level = INFO
java.util.logging.ConsoleHandler.level = INFO
Debian 默认有:
/etc/logrotate.d/tomcat9
可能配置为:
✅ 检查:
ls -l /var/log/tomcat9/
如果有:
catalina.out.1.gz
说明已被轮转。
很多项目用:
日志可能在:
/var/lib/tomcat9/webapps/yourapp/logs/
/opt/yourapp/logs/
✅ 检查应用配置:
logback.xml
log4j2.xml
Tomcat 通常以:
tomcat:tomcat
运行。
如果目录权限不对:
/var/log/tomcat9 不可写
Tomcat 会静默失败。
✅ 检查:
namei -l /var/log/tomcat9
系统中有可能:
你启动的是另一个,但看的是这个的日志。
✅ 确认:
ps aux | grep tomcat
which tomcat
# 1. 看 systemd 日志
journalctl -u tomcat9
# 2. 看 debian 日志目录
ls -l /var/log/tomcat9/
# 3. 看配置
cat /etc/tomcat9/logging.properties
# 4. 看运行实例
ps aux | grep tomcat
如果你愿意,可以告诉我:
tomcat9 / tomcat10)catalina.out?访问日志?应用日志?)我可以直接帮你定位到具体原因。