温馨提示×

debian tomcat日志时间不对咋办

小樊
48
2026-09-22 12:56:38
栏目: 智能运维

Debian 上 Tomcat 日志时间不对,通常是时区问题,不一定是系统时间错。可以按下面步骤排查和解决。


一、先确认系统时间对不对

date
timedatectl

如果系统时间本身就不对:

# 设置时区(例如上海)
sudo timedatectl set-timezone Asia/Shanghai

# 同步时间
sudo apt install -y ntpdate
sudo ntpdate pool.ntp.org

二、确认 Tomcat 使用的时区

Tomcat 不会自动用系统当前时区,而是看 JVM 的时区。

看当前 JVM 时区

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

如果显示不是 Asia/Shanghai,那就是问题来源。


三、给 Tomcat 指定时区(最常用)

方法 1:修改 CATALINA_OPTS(推荐)

编辑:

/etc/default/tomcat9
# 或
/etc/default/tomcat10

添加:

CATALINA_OPTS="-Duser.timezone=Asia/Shanghai"

然后重启:

sudo systemctl restart tomcat9

方法 2:在 setenv.sh 里加

sudo nano /opt/tomcat/bin/setenv.sh

加入:

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

四、日志框架时间不对(log4j / logback)

如果是 应用日志时间不对,而 catalina.out 正常:

logback 示例

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

log4j2

<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss}{Asia/Shanghai} %-5p ..."/>

五、确认生效

重启后看日志:

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

总结一句话

Debian + Tomcat 日志时间不对,90% 是 JVM 时区没设,加 -Duser.timezone=Asia/Shanghai 基本就好了。

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

  • Tomcat 版本
  • 日志类型(catalina / 应用日志)
  • 时间差几个小时

我可以给你更精确的改法。

0