По какой-то причине метка времени в моих журналах Tomcat отключена. Системные часы правильные и установлены на PST, но журналы Tomcat, похоже, используют GMT. Мне нигде не удалось найти эту настройку ... надеюсь, что кто-то сможет пролить свет.
Спасибо
В JVM
может иметь неправильный часовой пояс по умолчанию.
Добавить JVM
вариант -Duser.timezone=US/Pacific
(использовать JAVA_OPTS
свойство)
(также сделайте ps | grep java
смотреть на JVM
командную строку и посмотрите, установлен ли этот параметр для UTC
, возможно, с помощью параметра конфигурации или переменной среды).
Большинство систем регистрации по умолчанию используют UTC. Это делает их читаемыми в разных часовых поясах.
Он также позволяет смешивать журналы из разных часовых поясов, где это возможно.
Изменился ли часовой пояс системы с момента запуска Tomcat? У меня были проблемы, когда Tomcat выбирает часовой пояс при первом запуске, а затем отказывается принять новую реальность, пока вы не убьете ее и не начнете заново.
В Java есть собственная реализация tzdata
.
Например, на моих серверах ubuntu определения часового пояса java находятся в /usr/lib/jvm/java-6-sun-1.6.0.14/jre/lib/zi
Пока системный находится под /usr/share/zoneinfo/
Вы можете указать, какой часовой пояс должна использовать Java, передав параметр -Duser.timezone=$TZ
где $TZ
относительный путь к файлу часового пояса в zi
например: -Duser.timezone=Etc/GMT+3
Похоже, что Java использует значение в /etc/sysconfig/clock
в качестве значения часового пояса при запуске. В моей системе это было:
ZONE="America/New_York"
Измените это значение на то, что вы хотите, и перезапустите tomcat.
У меня была аналогичная проблема из-за -Duser.timezone=UTC
Вы можете раскрыть это с помощью ps -edf | grep catalina
при использовании Linux