您好我想知道是否有人知道一種方法來追加時間戳到通過logging.properties指定的日誌文件名java.util.logging.FileHandler 。模式如何將時間戳添加到文件名爲java.util.logging.FileHandler.pattern
看起來像是一件非常簡單的事情,但我無法在任何地方找到解決方案。
感謝
您好我想知道是否有人知道一種方法來追加時間戳到通過logging.properties指定的日誌文件名java.util.logging.FileHandler 。模式如何將時間戳添加到文件名爲java.util.logging.FileHandler.pattern
看起來像是一件非常簡單的事情,但我無法在任何地方找到解決方案。
感謝
你可以使用SLF4J這再次指向似乎有此功能 http://javablog.co.uk/2008/07/12/logging-with-javautillogging/
或者爲無第三方框架的方法,你可以使用的java.util.logging包一個CustomFormatter的樣本已經在這裏可用, http://www.kodejava.org/examples/458.html
恐怕只是通過配置你不能以你想要的方式設置文件名。
看看FileHandler.generate()
中的代碼來說服你。
你可以做的是編寫你自己的FileHandler來處理這個命名或切換到另一個日誌框架。
如果您使用java.util.logging,我在幾年前寫了一個Formatter & a Handler,它仍然可以是有用的,隨意使用。
您可以在模式,限制,計數等參數的代碼中實例化FileHandler
。 因此,模式字符串可以由日期和時間組成。
示例代碼:
String timeStamp = new SimpleDateFormat().format(new Date());
FileHandler fh = new FileHandler("./jay_log_%u.%g_" + timeStamp + ".log", 30000, 4);
logger.addHandler(fh);
要創建一個名爲當前日期/時間的文件:
Date date = new Date() ; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss") ; File file = new File(dateFormat.format(date) + ".txt") ;
你爲什麼不使用log4j的? – Artic 2010-03-24 06:57:54