2011-11-18 65 views
1

我有一個「奇怪」的問題。我在Java應用程序中使用log4j。 在我的電腦上,出現在log4j生成日誌中的時間很好,對應於我機器的本地時間。Windows Server 2003上log4j日誌的錯誤時間

問題是,當我在Windows Server 2003上部署應用程序時,出現在日誌文件中的時間已經過時。日期沒問題,但小時和分鐘根本沒有。它們在所有服務器的當地時間都不匹配。而且由於當地時間和日誌時間之間的差異似乎是4小時30分鐘,所以我似乎不是時區問題。我知道,有一些30分鐘的時區,但是,仍然...

有人知道這有可能嗎?

在這裏,你有附加器R中的轉換模式:

log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.layout.ConversionPattern=%d [%t] %-5p %c - %m%n 

我只放了log4j.properties的這一部分,因爲只有這個人是我的問題感興趣。

+2

什麼是本地機器和服務器的時區系統設置? – beny23

+0

我是(UTC + 1:00),服務器是UTC – ovdsrn

+0

它們至少是連續的,並且隨着服務器運行時間的增長而增長?你提到不相關,但我認爲你的意思是他們不匹配服務器的時鐘。 – Gray

回答

0

不過,它看起來像是一個時區問題。例如,您是否在不同的用戶帳戶上運行應用程序,而不是用於檢查服務器上的日期?

的Log4j採用默認的時區,所以你可以嘗試用其他命令行選項運行你的應用程序:

-Duser.timezone=UTC 

,看看它是否有什麼變化。

+0

感謝您的回答,但不是,應用程序從管理員帳戶運行(與用於檢查服務器上的日期相同)。 – ovdsrn

+0

@ovdsrn如果使用-Duser.timezone運行它,會發生什麼情況? – MaDa