温馨提示×

ubuntu tomcat日志缺失怎么办

小樊
41
2026-09-21 19:35:04
栏目: 智能运维

在 Ubuntu 上遇到 Tomcat 日志缺失(如 catalina.outlocalhost.logcatalina.yyyy-mm-dd.log 等不存在或为空),可以按下面步骤排查和解决。


一、先确认日志“到底去哪了”

1. 查看 Tomcat 日志目录

ls -l /var/log/tomcat*/   # 常见路径
ls -l $CATALINA_HOME/logs

常见路径:

  • Ubuntu 包安装:/var/log/tomcat9/
  • 二进制安装:/opt/tomcat/logs/

2. 是否根本没启动

systemctl status tomcat
# 或
ps aux | grep tomcat

如果 Tomcat 没运行,自然不会有新日志。


二、常见原因及对应解决办法

原因 1:日志被 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

原因 2:日志目录权限不足

Tomcat 用户(如 tomcat)无写权限。

sudo chown -R tomcat:tomcat /var/log/tomcat9
sudo chmod 755 /var/log/tomcat9

原因 3:logging.properties 被改坏

检查:

$CATALINA_HOME/conf/logging.properties

确保有:

handlers = 1catalina.org.apache.juli.FileHandler, ...

如果误删,可从官方包拷贝一份。


原因 4:Tomcat 启动方式不对

如果你用:

./startup.sh

但当前用户不是 tomcat 用户,也可能无权限写日志。

✅ 推荐:

sudo systemctl start tomcat

原因 5:磁盘满了

df -h

如果 /var/ 100%,日志不会写入。


原因 6:应用异常导致提前退出

查看是否有:

  • java.lang.Exception
  • 启动即崩溃

可临时前台启动看输出:

$CATALINA_HOME/bin/catalina.sh run

三、快速自查清单 ✅

  • [ ] Tomcat 是否在运行
  • [ ] 日志是否在 journalctl
  • [ ] 日志目录权限是否正确
  • [ ] logging.properties 是否完整
  • [ ] 磁盘是否充足

四、如果你愿意

你可以告诉我:

  1. Ubuntu 版本
  2. Tomcat 版本
  3. 安装方式(apt / 二进制)
  4. 缺失的是哪个日志文件

我可以给你精确命令

0