2012-11-09 107 views
0

我有一個文件處理器設置:的Java文件處理器使用24小時時間

Logger logger = Logger.getLogger(this.class.getName()); 
FileHandler handler = new FileHandler(myFile, true); 
handler.setFormatter(new SimpleFormatter()); 
logger.addHandler(handler); 
logger.setUseParentHandlers(false); 

但是我的服務器在UTC,所以在我的日誌文件,時間戳的樣子:Nov 9, 2012 5:12:17 PM

這是更難在緊要關頭理解,所以我想知道是否有可能

1)將其轉換爲24小時時間,所以至少我會看到17:12:17代替5:12:17PM 2)要改爲使用不同的時區

我想這可能是關於如何設置格式化程序,但我不知道如何。

謝謝!

回答

0

我建議你閱讀的SimpleFormatter.format() Javadoc中,你可以通過指定在application logging configuration file java.util.logging.SimpleFormatter.format財產自己的格式。

默認屬性文件是< Java主頁> \ jre7 \ lib \ logging.properties。複製並放在任何你想要的地方。

Java Logging Overview也是一個很好的閱讀。

下面的代碼

System.setProperty(
    "java.util.logging.SimpleFormatter.format", "%4$s: %5$s [%1$tc]%n"); 
Logger l = Logger.getLogger(""); 
l.warning("Hello"); 

輸出

WARNING: Hello [ven. nov. 09 20:26:30 CET 2012] 
+0

我不明白這是如何工作的。現在我沒有日誌記錄配置文件或LogRecord對象('format'需要)。是否有更像'SimpleFormatter()。format(「HH:mm:ss」);'我可以使用? – Marianna

+0

答案已編輯 – Aubin

+0

謝謝!我在我的環境中找到了該文件和屬性,並按照您的建議進行了更改。我重新啓動了我的Java進程,但我仍舊在舊格式中看到相同的結果。還有什麼我可能需要重新啓動以獲取新的財產? – Marianna