您好我想知道是否有人知道将时间戳附加到通过logging.properties指定的日志文件名的方法java.util.logging.FileHandler.pattern
似乎很简单,但似乎无法在任何地方找到解决方案。
谢谢
答案 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") ;