温馨提示×

Debian Tomcat日志不输出怎么办

小樊
32
2026-08-24 01:43:48
栏目: 智能运维

Debian 下 Tomcat 日志不输出 通常不是“完全没日志”,而是日志被 systemd / 配置 / 权限 / 路径接管或屏蔽了。可以按下面顺序排查,90% 的问题都能解决。


一、先确认你找的日志路径对不对

1️⃣ Debian 默认 Tomcat 日志位置

/var/log/tomcat9/

常见文件:

catalina.out
catalina.2026-01-21.log
localhost.log
manager.log
host-manager.log

⚠️ 如果你是用 apt 安装的 Tomcat 9,日志不一定在 catalina.out


二、最常见原因:systemd 接管了输出

现象

  • catalina.out 为空
  • Tomcat 能启动
  • 但看不到日志

原因

Debian 用 systemd 启动 Tomcat,stdout/stderr 被 systemd 接管

✅ 查看方式

journalctl -u tomcat9

实时查看:

journalctl -u tomcat9 -f

这是 Debian 下最推荐的方式


三、确认 Tomcat 是否真的在运行

systemctl status tomcat9

如果看到:

Active: active (running)

说明 Tomcat 正常


四、logging.properties 被改坏(非常常见)

1️⃣ 打开配置

vim /etc/tomcat9/logging.properties

2️⃣ 重点检查这几项

handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler

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

3️⃣ 确保没有:

java.util.logging.ConsoleHandler.level = OFF

五、目录或文件权限问题(非常常见)

1️⃣ 检查日志目录权限

ls -ld /var/log/tomcat9

正确示例:

drwxrwx--- tomcat9 adm

2️⃣ 修复权限

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

六、Tomcat 明明启动了,但 catalina.out 为空

原因

在 Debian 中:

  • catalina.out 默认不再使用
  • 日志被拆分成:
catalina.2026-01-21.log

✅ 正确查看方式

tail -f /var/log/tomcat9/catalina.*.log

七、应用自身日志没输出(如 log4j / logback)

如果你用的是:

  • log4j2
  • logback

Tomcat 日志 ≠ 应用日志

检查:

/var/log/tomcat9/

或你自己在 logback.xml / log4j2.xml 里配置的路径


八、快速自检清单(照着做)

# 1. 看 systemd 日志
journalctl -u tomcat9 -f

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

# 3. 重启
systemctl restart tomcat9

# 4. 查看状态
systemctl status tomcat9

九、如果你愿意,我可以进一步帮你

你可以直接贴出:

  1. Debian 版本(cat /etc/os-release
  2. Tomcat 版本
  3. 启动方式(apt / 手动解压)
  4. systemctl status tomcat9 输出
  5. logging.properties 内容

我可以 精确告诉你哪一行配置导致日志消失

0