温馨提示×

tomcat日志时间不对咋办

小樊
41
2026-10-09 12:16:19
栏目: 智能运维

Tomcat 日志时间不对,通常是时区问题或日志框架配置问题。可以按下面步骤排查和解决:


一、先确认是不是时区问题(最常见)

1. 查看服务器时间

date

如果服务器时间本身就不对:

  • 修正系统时间(如 ntpdate / timedatectl)
  • 或同步 NTP

2. 查看 JVM 时区

java -XshowSettings:properties -version 2>&1 | grep user.timezone

如果时区不对(比如 UTC),Tomcat 日志就会差 8 小时(中国)


二、修改 Tomcat 时区(推荐)

方式 1:修改 catalina.sh / catalina.bat

Linux(catalina.sh)

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

Windows(catalina.bat)

set JAVA_OPTS=%JAVA_OPTS% -Duser.timezone=Asia/Shanghai

重启 Tomcat 生效。


三、如果是 log4j / logback 时间不对

log4j(log4j.properties)

log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}{GMT+8}

logback(logback.xml)

<pattern>%d{yyyy-MM-dd HH:mm:ss,Asia/Shanghai}</pattern>

四、Docker 部署的情况(很常见)

1. 容器时区不对

docker exec -it 容器名 date

2. 启动容器时指定时区

-e TZ=Asia/Shanghai

或在 Dockerfile:

ENV TZ=Asia/Shanghai

五、快速自检清单 ✅

  • [ ] 服务器时间对
  • [ ] JVM 时区对
  • [ ] 日志框架时区对
  • [ ] Docker / K8s 时区对

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

  • Tomcat 版本
  • 操作系统
  • 用的日志框架(catalina / log4j / logback)
  • 是否 Docker

我可以给你精确改法。

0 踩