【问题标题】:Time is different between system time and time in log file.系统时间和日志文件中的时间不同。
【发布时间】:2018-02-12 06:12:04
【问题描述】:

我有一个在 Linux 上运行的 Web 应用程序。

date 命令如下所示。

但我的日志文件中的日期是

我的日志文件中的日期是错误的。为什么日期不一样?我该如何解决?我已经重新启动了我的服务器,但它不起作用。

【问题讨论】:

  • 尝试在您的代码中获取当前时区。您必须将代码内的 UTC 时间设置为与服务器 UTC 时区相同。参考:stackoverflow.com/questions/2403109/…
  • 我使用 slf4j + log4j,我的 PatternLayout 是%d [%7r] %6p:%L - %c - %m \n。我不知道如何更改 log4j 中的时区。此外,日志文件中的日期几天前是正确的。
  • 你试过logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/… 吗? For example, %d{HH:mm:ss,SSS}, %d{dd MMM yyyy HH:mm:ss,SSS}, %d{DATE} or %d{HH:mm:ss}{GMT+0}
  • 您(或您的服务器)在中美洲还是萨斯喀彻温省?世界上没有多少地方在每年的这个时候使用 CST。
  • 日志文件时间比系统时间晚近12小时4分钟我理解正确吗?

标签: java linux logging time


【解决方案1】:

除非用户指定时区或使用 -Duser.timezone 将时区设置为本地时间(在您的情况下似乎是 CST),否则 JDK 将默认使用 UTC/GMT 作为时区值。

【讨论】:

    猜你喜欢
    • 2015-07-04
    • 2016-01-12
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 2012-06-18
    • 2011-10-30
    相关资源
    最近更新 更多