温馨提示×

为何debian tomcat日志丢失

小樊
48
2026-09-04 10:24:31
栏目: 智能运维

Debian 上 Tomcat 日志“丢失”通常不是真的被删了,而是位置、配置或轮转机制和预期不一致。下面按最常见原因逐条说明,并给出排查方法。


1. 你找错日志目录了(最常见)

在 Debian 上,通过 apt 安装的 Tomcat(如 tomcat9tomcat10不会用官方包的 logs/ 目录

apt 安装后的真实位置

/var/log/tomcat9/

而不是:

/opt/tomcat/logs/

常见文件:

  • catalina.out
  • catalina.YYYY-MM-DD.log
  • localhost.YYYY-MM-DD.log
  • host-manager.*
  • manager.*

✅ 检查:

ls -l /var/log/tomcat9/

2. catalina.out 根本没有内容(被重定向)

Debian 的 Tomcat 通常用 systemd 启动,而不是 catalina.sh

结果

  • catalina.out 可能为空
  • 真正的 stdout/stderr 在 journald

查看方式:

journalctl -u tomcat9
journalctl -u tomcat9 --since "1 hour ago"

如果你只盯 catalina.out,会以为“日志丢失”。


3. logging.properties 被改或不存在

Tomcat 使用:

/etc/tomcat9/logging.properties

如果该文件:

  • 被误删
  • 被注释
  • 级别设为 OFF

就会导致几乎无日志。

✅ 检查:

cat /etc/tomcat9/logging.properties

重点看:

.level = INFO
java.util.logging.ConsoleHandler.level = INFO

4. logrotate 把日志“转走/删了”

Debian 默认有:

/etc/logrotate.d/tomcat9

可能配置为:

  • 每天轮转
  • 保留 7 天
  • 压缩
  • 重启后旧文件消失

✅ 检查:

ls -l /var/log/tomcat9/

如果有:

catalina.out.1.gz

说明已被轮转。


5. 应用自己写了日志,但不在 Tomcat 目录

很多项目用:

  • log4j2
  • logback

日志可能在:

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

✅ 检查应用配置:

logback.xml
log4j2.xml

6. 权限问题导致写不进去

Tomcat 通常以:

tomcat:tomcat

运行。

如果目录权限不对:

/var/log/tomcat9 不可写

Tomcat 会静默失败

✅ 检查:

namei -l /var/log/tomcat9

7. 你重启的是“错误实例”

系统中有可能:

  • 一个 apt 装的 Tomcat
  • 一个手动解压的 Tomcat

你启动的是另一个,但看的是这个的日志。

✅ 确认:

ps aux | grep tomcat
which tomcat

快速排查清单(建议按顺序)

# 1. 看 systemd 日志
journalctl -u tomcat9

# 2. 看 debian 日志目录
ls -l /var/log/tomcat9/

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

# 4. 看运行实例
ps aux | grep tomcat

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

  • Debian 版本
  • Tomcat 版本(tomcat9 / tomcat10
  • 怎么启动的(apt / 脚本 / docker)
  • 你认为“丢失”的是哪种日志(catalina.out?访问日志?应用日志?)

我可以直接帮你定位到具体原因。

0