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

时间:2010-03-24 06:19:15

标签: java timestamp filenames java.util.logging

您好我想知道是否有人知道将时间戳附加到通过logging.properties指定的日志文件名的方法java.util.logging.FileHandler.pattern

似乎很简单,但似乎无法在任何地方找到解决方案。

谢谢

4 个答案:

答案 0 :(得分:4)

我担心只是通过配置你不能以你想要的方式设置文件名。

查看FileHandler.generate()中的代码以说服您。

您可以做的就是编写自己的FileHandler来处理这个命名或切换到另一个日志框架。

如果您使用java.util.logging,我在几年前写过Formatter & a Handler,它仍然可以使用,随时可以使用。

答案 1 :(得分:1)

您可以在代码中使用pattern,limit,count等参数实例化FileHandler。 因此,模式字符串可以由日期和时间组成。

示例代码:

String timeStamp = new SimpleDateFormat().format( new Date() );
FileHandler fh = new FileHandler( "./jay_log_%u.%g_" + timeStamp + ".log", 30000, 4);
logger.addHandler(fh);

答案 2 :(得分:0)

您可以使用SLF4J,它再次指向似乎具有此功能的java.util.logging包 http://javablog.co.uk/2008/07/12/logging-with-javautillogging/

或者对于非第三方框架方法,您可以使用CustomFormatter,其示例已在此处提供, http://www.kodejava.org/examples/458.html

答案 3 :(得分:0)

创建名为当前日期/时间的文件:

Date date = new Date() ; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss") ; File file = new File(dateFormat.format(date) + ".txt") ;