代码之家  ›  专栏  ›  技术社区  ›  Govind Singh

play framework日志是utc格式的,甚至系统时区也是ist格式的

  •  1
  • Govind Singh  · 技术社区  · 7 年前

    我把AWS系统时区设为IST。

    $ timedatectl
      Local time: Fri 2018-06-15 16:43:20 IST
      Universal time: Fri 2018-06-15 11:13:20 UTC
      RTC time: Fri 2018-06-15 11:13:20
      Time zone: Asia/Kolkata (IST, +0530)
      Network time on: yes
      NTP synchronized: no
      RTC in local TZ: no
    

    但play framework日志仍在使用utc时区生成

    2018-06-15 11:22:46,002 [INFO] from application in main - Creating Pool for datasource 'default'
    

    我正在使用play framework 2.5 我正在运行play framework sudo sbt clean dist

    1 回复  |  直到 7 年前
        1
  •  1
  •   Mario Galic    7 年前

    尝试 passing the timezone to the JVM 像这样:

    sbt -Duser.timezone=Asia/Kolkata
    

    conf/logback.xml 应该有一个转换词 %date 在类似于

    <pattern>%date [%level] from %logger in %thread - %message%n%xException</pattern> 
    

    日期转换字具有格式 date{pattern, timezone} 默认情况下:

    …如果没有时区参数,则 采用主机java平台。

    因此,jvm,而不是os,拥有时区的最终决定权。

    推荐文章