问题:

linux系统下java程序输出日志时间慢8小时处理过程-冯金伟博客园

排查&处理步骤:

记一次linux系统下java程序输出日志时间不对问题排查

1、先确认一下系统时间是否正常:

date -R      # 查看系统时区

linux系统下java程序输出日志时间慢8小时处理过程-冯金伟博客园

2、如果系统时间正常,排查一下机器硬件时间:

# 查看硬件时间用hwclock或者clock命令
hwclock    # 查看系统硬件时间  
clock      # 查看系统硬件时间 

linux系统下java程序输出日志时间慢8小时处理过程-冯金伟博客园

 3、如果是硬件时间导致,可以将系统时间写入到硬件中:

hwclock -w    # 将系统时间写入到硬件时间

linux系统下java程序输出日志时间慢8小时处理过程-冯金伟博客园

 4、如果上述还是有问题,日志输出时间还是不正确,那么可是系统读取默认环境变量导致,查看系统时区配置文件,检查时区是否正常:

cat /etc/sysconfig/clock    #系统默认时区

linux系统下java程序输出日志时间慢8小时处理过程-冯金伟博客园

 5、如果以上步骤都正常,那么就只能重启服务器或者在环境变量中增加一段环境变量:

tzselect      # 修改时区

linux系统下java程序输出日志时间慢8小时处理过程-冯金伟博客园

回车后(enter)之后选择5选择9选择1选择1完成。接下来会看到消息,提示我们把TZ=’Asia/Shanghai’加入到系统环境变量内。

修改环境变量:

vim /etc/profile   

export TZ='Asia/Shanghai'

linux系统下java程序输出日志时间慢8小时处理过程-冯金伟博客园

 加载环境变量:

source /etc/profile    # 更新系统变量

再次执行命令“date -R”验证时区是否更改,可以看到此时已经更改成了东八区。

linux系统下java程序输出日志时间慢8小时处理过程-冯金伟博客园

此时在重启java服务发现日志已经正常了。。。