温馨提示×

为什么debian tomcat无日志

小樊
40
2026-09-10 06:54:14
栏目: 智能运维

在 Debian 上运行 Tomcat 时“没有日志”,通常不是 Tomcat 完全不写日志,而是日志位置、权限、配置或视角出了问题。下面按最常见原因逐一说明,并给出排查方法。


一、你找错日志位置了(最常见)

Debian + apt 安装的 Tomcat

如果你是用:

apt install tomcat9

那么日志不在 CATALINA_HOME/logs,而在:

/var/log/tomcat9/

常见文件:

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

✅ 检查:

ls -l /var/log/tomcat9/

二、你用的是 systemd,日志在 journald

Debian 10+ 通常用 systemd 管理 Tomcat:

systemctl status tomcat9
journalctl -u tomcat9

很多时候:

  • catalina.out 是空的
  • 真正的 stdout/stderr 在 journalctl

✅ 查看:

journalctl -u tomcat9 -f

三、Tomcat 用户没有写日志权限

Debian 的 Tomcat 默认以 tomcat 用户运行:

ps aux | grep tomcat

如果日志目录权限不对:

/var/log/tomcat9  root:root  750

Tomcat 就写不进去,但也不会报错(尤其 systemd 下)。

✅ 修复:

chown -R tomcat:adm /var/log/tomcat9
chmod 750 /var/log/tomcat9

四、logging.properties 被改或损坏

Tomcat 使用:

/etc/tomcat9/logging.properties

如果:

  • 被误删
  • 被改成只输出到 console
  • 日志级别设为 OFF

就会“看起来没日志”。

✅ 检查关键内容:

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

五、你部署的应用自己吞了日志

很多 Spring / Java 应用:

  • 用 logback / log4j2
  • 输出到别的目录
  • 或只输出到 console

✅ 检查:

/var/log/tomcat9/
你的应用目录/logs/

或在 application.properties

logging.file.name=/var/log/tomcat9/myapp.log

六、Tomcat 根本没启动成功

如果:

  • 端口没监听
  • 进程不存在
  • 启动瞬间退出

那你自然“看不到日志”。

✅ 检查:

systemctl status tomcat9
ss -lntp | grep 8080

七、磁盘满 / inode 用尽

df -h
df -i

满了 Tomcat 会静默失败。


快速自查清单 ✅

# 1. 日志在哪
ls /var/log/tomcat9

# 2. systemd 日志
journalctl -u tomcat9 -n 100

# 3. 进程用户
ps aux | grep tomcat

# 4. 权限
namei -l /var/log/tomcat9/catalina.out

# 5. 配置
cat /etc/tomcat9/logging.properties

如果你愿意,可以告诉我:

  • Debian 版本
  • Tomcat 版本
  • 怎么安装的(apt / 二进制)
  • 启动方式(systemctl / startup.sh)

我可以精准告诉你“为什么你现在一条日志都看不到”。

0