一、问题

logback日志的时间和系统时间对不上,总是差几个小时,设置了项目时区没有用,项目里 new Date() 的时间没问题。

二、原因

同一个项目部署在两台机器上,之前那台时间是正常的,这台时间不正常,暂时没找到具体原因。

三、解决方法

改一下logback的配置文件 pattern 的时间格式

  • 修改前
    1
    <property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss:SSS} %thread [%level] %m%n"/>
  • 修改后
    1
    <property name="pattern" value="%d{yyyy-MM-dd HH:mm:ss:SSS,CTT} %thread [%level] %m%n"/>
    在yyyy-MM-dd HH:mm:ss.SSS后面加一个指定的时区,用逗号分隔开。如yyyy-MM-dd HH:mm:ss.SSS,CTT。CTT为上海时间。改完后确实可以了。