У меня проблема с конфигурацией даты сервера и java работает log4j и solr на ubuntu 10.04.Java использует неправильное время/дату в log4j на ubuntu 10.04
Системное время CEST. Вывод команды даты:
# date
Di 31. Jul 14:05:02 CEST 2012
но время в логах моего протоколирования приложения с log4j является:
2012-07-31 12:05:02
я использовать эту строку в моем файле log4j.properties:
log4j.appender.rollingFile.layout.ConversionPattern=%d{ISO8601} %p %t %c - %m%n
Теперь я строю банку, чтобы проверить время, содержащее в основном две строки кода:
Date date = new Date(System.currentTimeMillis());
System.out.println(DateFormat.getDateTimeInstance().format(date));
это дает мне ожидаемый неправильный вывод:
# java -jar javaDate.jar
31.07.2012 12:05:02
если я использовать параметр виртуальной машины для часового пояса она работает правильно
java -Duser.timezone=Europe/Berlin -jar javaDate.jar
31.07.2012 14:05:02
, но если я использую один и тот же параметр для запуска приложения, использование log4j по-прежнему получает неправильные метки времени в моем журнале. Почему ????
В вашей JVM установлено время UTC. –
@ galuano1 да, но почему параметр -Duser.timezone = Europe/Berlin работает для моей тестовой банки, но не для приложения, использующего log4j, и как я могу настроить свой jvm, чтобы всегда использовать системное время? – samy