如何将时间戳添加到文件名为java.util.logging.FileHandler.pattern

问题描述:

您好我想知道是否有人知道一种方法来追加时间戳到通过logging.properties指定的日志文件名java.util.logging.FileHandler 。模式如何将时间戳添加到文件名为java.util.logging.FileHandler.pattern

看起来像是一件非常简单的事情,但我无法在任何地方找到解决方案。

感谢

+0

你为什么不使用log4j的? – Artic 2010-03-24 06:57:54

你可以使用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") ;