在 Debian 上运行 Tomcat 时“日志缺失”是一个比较常见的问题,通常不是 Tomcat 本身不写日志,而是日志去哪儿了 / 为什么没生成的问题。下面按常见原因系统说明。
apt install tomcat9/var/log/tomcat9/catalina.outtail -f catalina.out 没内容Debian 官方 Tomcat 包 默认用 systemd 管理,stdout/stderr 被 journald 接走了。
journalctl -u tomcat9
journalctl -u tomcat9 -f
✅ 这是“日志缺失”的最常见原因。
/var/log/tomcat9//var/lib/tomcat9/logs/tomcat 用户运行ls -ld /var/log/tomcat9
ps aux | grep tomcat
chown -R tomcat:tomcat /var/log/tomcat9
chmod 755 /var/log/tomcat9
Tomcat 使用 JULI(Java Util Logging)
/etc/tomcat9/logging.properties
.handlers = 1catalina.org.apache.juli.AsyncFileHandler
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
如果你下载的是:
apache-tomcat-9.x.tar.gz
那:
tomcat/logs/which tomcat
echo $CATALINA_HOME
很多人以为是“Tomcat 没日志”,其实是:
WEB-INF/classes/logback.xmllog4j2.xmllogging.file.namedf -h
df -i
磁盘满时 Tomcat 会静默失败。
systemctl status tomcat9
如果启动失败:
systemctl status tomcat9
journalctl -u tomcat9 -n 100
ls -l /var/log/tomcat9
ls -l /etc/tomcat9/logging.properties
如果你愿意,可以告诉我:
我可以直接帮你定位到具体配置。