温馨提示×

Tomcat日志在Ubuntu为何空

小樊
41
2026-07-21 21:58:50
栏目: 智能运维

在 Ubuntu 上 Tomcat 日志为空,通常不是“没产生日志”,而是路径、权限或配置问题。下面按最常见原因逐条排查,基本都能定位。


一、先确认你找的是不是正确的日志

Tomcat 在 Ubuntu 下常见日志位置有 两类

1️⃣ 系统包安装(apt 安装)

/var/log/tomcat9/

常见文件:

  • catalina.out
  • localhost.log
  • manager.log
  • host-manager.log

✅ 这是 最容易被忽略的一点
catalina.out 可能不存在或为空,但其他 .log 有内容


2️⃣ 官方压缩包安装(手动解压)

$TOMCAT_HOME/logs/

例如:

/opt/tomcat/logs/

二、最常见原因(90% 都在这里)

✅ 1. Tomcat 没有真正启动成功

如果 Tomcat 启动失败,日志自然为空。

检查:

systemctl status tomcat9

ps -ef | grep tomcat

如果没起来,看:

journalctl -xe

✅ 2. 权限问题(非常常见)

日志目录没有写权限,Tomcat 不会报错,也不会写日志

检查权限

ls -ld /var/log/tomcat9

修复权限(假设用户是 tomcat)

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

⚠️ 注意:

  • apt 安装的 Tomcat 用户通常是 tomcat
  • 手动安装可能是 root 或当前用户

✅ 3. catalina.out 被 systemd 接管了(Ubuntu 特有)

Ubuntu 使用 systemd,stdout 不会写 catalina.out

查看真正日志:

journalctl -u tomcat9

或实时查看:

journalctl -u tomcat9 -f

✅ 这是 为什么 catalina.out 为空的根本原因


✅ 4. logging.properties 被改坏或清空

检查:

$TOMCAT_HOME/conf/logging.properties

确保有类似内容:

handlers = 1catalina.org.apache.juli.AsyncFileHandler

1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.

✅ 5. 磁盘空间满了

df -h

如果磁盘 100%,Tomcat 无法写日志但不一定报错


✅ 6. 日志被 logrotate 清空

Ubuntu 默认会轮转日志:

cat /etc/logrotate.d/tomcat9

可能刚被清空,等一会儿或重启 Tomcat 再观察。


三、快速自检清单(推荐按顺序)

# 1. Tomcat 是否运行
systemctl status tomcat9

# 2. 日志目录权限
ls -ld /var/log/tomcat9

# 3. 看 systemd 日志
journalctl -u tomcat9 -n 100

# 4. 磁盘空间
df -h

# 5. 是否真的没日志
ls -lh /var/log/tomcat9

四、如果你愿意,我可以直接帮你定位

你可以直接贴出这些信息(不用全贴):

  1. Tomcat 安装方式(apt 还是解压)
  2. Ubuntu 版本
  3. systemctl status tomcat9 输出
  4. ls -l /var/log/tomcat9

我可以 精确告诉你是哪一条原因

0