Tomcat日志中的时间戳记是错误的

出于某种原因,我的Tomcat日志中的时间戳记是closures的。 系统时钟是正确的,并设置为PST,但Tomcat日志似乎使用GMT。 我无法在任何地方find这个设置…希望有人可以摆脱一些光。

谢谢

JVM可能将错误的时区设置为默认值。

添加JVM选项-Duser.timezone=US/Pacific (使用JAVA_OPTS属性)

(也可以使用ps | grep java来查看JVM命令行,看看是否已经为UTC设置了这个选项,可能是通过configuration设置或环境variables)。

大多数日志logging系统默认为UTC。 这使得他们可以跨时区读取。
它还允许您在适用的情况下混合来自不同时区的日志。

自从Tomcat启动以来,系统的时区是否已更改? Tomcat在第一次启动的时候就会遇到问题,然后拒绝接受新的事实,直到你杀了它并重新开始。

Java有自己的tzdata实现。
例如,在我的Ubuntu服务器中,java的时区定义在/usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/zi
当系统在/usr/share/zoneinfo/

您可以通过传递选项-Duser.timezone=$TZ来指定java应该使用哪个时区,其中$TZzi下的时区文件的相对path
例如: -Duser.timezone=Etc/GMT+3

看起来Java在启动时使用/etc/sysconfig/clock中的值作为时区值。 在我的系统上是这样的:

 ZONE="America/New_York" 

将该值更改为您想要的值,然后重新启动tomcat。