Tomcat访问日志记录将来的日期

时间:2019-12-30 19:00:07

标签: java tomcat access-log

Tomcat访问日志将时间戳打印为“ 30 / Dec / 2020”,而不是昨天的“ 30/12/2019”。我们在AccessLogValve中使用时间戳格式为“[%{dd/MMM/YYYY HH:mm:ss.SSS}t]”

这是我们项目的格式,可以无缝工作到12月29日,突然之间,它从29日开始印刷到2020年。我们正在使用openjdk version "1.8.0_202"Apache Tomcat/8.5.50

我们非常感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

日历年与基于周的年

YYYY表示基于周的年份。对于日历年,请使用yyyy

进行此类工作时,请仔细阅读文档。

ISO 8601

我建议您使用标准ISO 8601格式进行所有日志记录。对于仅日期的值,它将是yyyy-MM-dd模式。

UTC

在任何给定时刻,日期在全球各地均按时区变化。例如,新年2020年到达日本东京的时间要比印度加尔各答要早几个小时,甚至比美国俄亥俄州的托莱多还晚几个小时。

因此,您应该指定要用来感知日期的时区。如果省略,则会隐式应用JVM的当前默认时区。最好明确指定所需/预期的时区。我不记得如何在Tomcat中执行此操作,并且现在没有可用的文档,因此您必须进行查找。

通常最好使用UTC(零小时-分钟-秒的偏移量)进行记录。