出于某种原因,我的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应该使用哪个时区,其中$TZ
是zi
下的时区文件的相对path
例如: -Duser.timezone=Etc/GMT+3
看起来Java在启动时使用/etc/sysconfig/clock
中的值作为时区值。 在我的系统上是这样的:
ZONE="America/New_York"
将该值更改为您想要的值,然后重新启动tomcat。