温馨提示×

ubuntu tomcat日志为何异常

小樊
40
2026-09-27 18:29:21
栏目: 智能运维

在 Ubuntu 上运行 Tomcat 时“日志异常”通常有几种常见表现和原因,下面按常见现象 → 可能原因 → 排查/解决办法来说明,你可以对照自己的情况。


一、Tomcat 完全不输出日志

可能原因

  1. 日志目录权限不足
    • Ubuntu 下 Tomcat 常以 tomcat 用户运行
    • /var/log/tomcat*/ 无写权限
ls -ld /var/log/tomcat9

解决

sudo chown -R tomcat:tomcat /var/log/tomcat9
sudo systemctl restart tomcat9

二、catalina.out 没有日志 / 为空

可能原因

  1. 使用 systemd 启动 Tomcat
  2. 日志被重定向到 journalctl

查看方式

journalctl -u tomcat9 -f

原因说明

Ubuntu 官方包通常:

  • 不写 catalina.out
  • 日志由 systemd 接管

三、日志时间不对(时区异常)

现象

  • 日志时间比实际慢 8 小时(UTC)

解决

sudo timedatectl set-timezone Asia/Shanghai
sudo systemctl restart tomcat9

或在 setenv.sh:

export JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Asia/Shanghai"

四、日志中文乱码

原因

  • Linux 默认 UTF-8
  • Java 使用其他编码

解决

export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"

五、日志级别异常(太多 / 太少)

配置文件位置

/etc/tomcat9/logging.properties

常见调整

org.apache.catalina.level = INFO
java.util.logging.ConsoleHandler.level = INFO

六、应用日志不打印

原因

  1. 应用使用 log4j / logback
  2. 配置文件未加载

检查

WEB-INF/classes/log4j.properties
WEB-INF/classes/logback.xml

七、磁盘满导致日志异常

df -h
du -sh /var/log/tomcat9/*

八、Tomcat 启动失败但无日志

查看 systemd 报错:

systemctl status tomcat9
journalctl -xe

快速自检清单 ✅

  • [ ] Tomcat 用户是否有权限写日志
  • [ ] 是否用 systemd(journalctl)
  • [ ] 时区是否正确
  • [ ] logging.properties 是否配置正确
  • [ ] 磁盘是否满了

如果你能贴出:

  • Tomcat 版本
  • Ubuntu 版本
  • 具体异常日志或现象

我可以直接帮你精准定位问题。

0 踩