温馨提示×

debian tomcat日志为何缺失

小樊
46
2026-09-13 07:19:19
栏目: 智能运维

Debian 上 Tomcat 日志“缺失”通常不是真的没产生,而是位置、配置或权限导致你没看到。下面按最常见原因逐一说明,并提供排查方法。


一、日志到底在哪(先看位置对不对)

Debian 上 Tomcat 日志常见位置有两类:

1. 使用 apt 安装的 Tomcat(如 tomcat9 / tomcat10)

/var/log/tomcat9/

包含:

  • catalina.out
  • catalina.yyyy-mm-dd.log
  • localhost.yyyy-mm-dd.log
  • host-manager / manager 日志

⚠️ 注意:

  • 很多 Debian 版本 默认没有 catalina.out
  • 日志由 systemd 接管,输出在 journalctl

查看方式:

journalctl -u tomcat9

2. 使用官方 tar.gz 解压安装的 Tomcat

$TOMCAT_HOME/logs/

例如:

/opt/tomcat/logs/catalina.out

二、最常见导致“看不到日志”的原因

✅ 1. 日志被 systemd 接收,不在文件里

Debian + apt 安装时:

  • CATALINA_OUT 被重定向到 systemd
  • /var/log/tomcat9/catalina.out 可能不存在

✅ 解决:

journalctl -u tomcat9 -f

✅ 2. Tomcat 没真正启动

日志文件不会生成,如果:

  • 端口被占用
  • JAVA_HOME 错误
  • 启动脚本失败

检查:

systemctl status tomcat9
journalctl -xe

✅ 3. 日志级别被关掉或改了

conf/logging.properties 中:

.level = INFO

如果被改成:

.level = OFF

或 handler 被注释,日志就不会写


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

Tomcat 以 tomcat 用户运行:

ps aux | grep tomcat

如果:

  • /var/log/tomcat9 属主不对
  • 目录不可写

会导致:

  • 日志不生成
  • 启动失败但无明显提示

修复:

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

✅ 5. 日志被 logrotate 清掉

Debian 默认有:

/etc/logrotate.d/tomcat9

可能:

  • 每天轮转
  • 保留 7 天
  • 压缩后你没注意

查看:

ls -lh /var/log/tomcat9/

✅ 6. 应用自己用了 log4j / slf4j

很多 Web 应用:

  • 不写 Tomcat 日志
  • 只写自己的 log 目录

例如:

/var/lib/tomcat9/webapps/yourapp/logs/

三、快速排查清单(照着做)

# 1. 看服务状态
systemctl status tomcat9

# 2. 看系统日志
journalctl -u tomcat9 -n 100

# 3. 看日志目录
ls -lh /var/log/tomcat9/

# 4. 看配置
cat /etc/tomcat9/logging.properties

# 5. 看进程用户
ps aux | grep java

四、如果你愿意,我可以更精确帮你

你可以补充:

  1. Debian 版本(cat /etc/os-release
  2. Tomcat 版本 / 安装方式(apt 还是 tar)
  3. 是否用 systemd
  4. 缺失的是 catalina.out 还是 应用日志

我可以直接给你对应修复命令。

0