在 Ubuntu 上遇到 Tomcat 日志缺失(如 catalina.out、localhost.log、catalina.yyyy-mm-dd.log 等不存在或为空),可以按下面步骤排查和解决。
ls -l /var/log/tomcat*/ # 常见路径
ls -l $CATALINA_HOME/logs
常见路径:
/var/log/tomcat9//opt/tomcat/logs/systemctl status tomcat
# 或
ps aux | grep tomcat
如果 Tomcat 没运行,自然不会有新日志。
systemd 接管(最常见)Ubuntu 用 apt 安装的 Tomcat,catalina.out 默认不生成,日志走 journalctl。
✅ 查看日志:
journalctl -u tomcat
journalctl -u tomcat --since "1 hour ago"
✅ 想恢复 catalina.out:
编辑:
sudo systemctl edit tomcat
添加:
[Service]
StandardOutput=append:/var/log/tomcat9/catalina.out
StandardError=append:/var/log/tomcat9/catalina.out
然后:
sudo systemctl daemon-reload
sudo systemctl restart tomcat
Tomcat 用户(如 tomcat)无写权限。
sudo chown -R tomcat:tomcat /var/log/tomcat9
sudo chmod 755 /var/log/tomcat9
logging.properties 被改坏检查:
$CATALINA_HOME/conf/logging.properties
确保有:
handlers = 1catalina.org.apache.juli.FileHandler, ...
如果误删,可从官方包拷贝一份。
如果你用:
./startup.sh
但当前用户不是 tomcat 用户,也可能无权限写日志。
✅ 推荐:
sudo systemctl start tomcat
df -h
如果 /var 或 / 100%,日志不会写入。
查看是否有:
java.lang.Exception可临时前台启动看输出:
$CATALINA_HOME/bin/catalina.sh run
journalctllogging.properties 是否完整你可以告诉我:
apt / 二进制)我可以给你精确命令。