使用filehandler创建一个目录

时间:2013-05-15 12:48:29

标签: java ioexception java.util.logging filehandler

我使用java.util.logging创建了两个日志文件。 这是它的样子。

Handler fh = new FileHandler("%h/AntonGUI_Tester/Logfiles/"+logTime+".html");
fh.setFormatter(new HTMLTableFormatter());        
logger.addHandler(fh);
logger.setLevel(Level.START);    

Handler fh2 = new FileHandler("%h/AntonGUI_Tester/Logfiles/"+logDate+"/"+logTime+".log");
fh2.setFormatter(new TextFormatter());
logger2.addHandler(fh2);
logger2.setLevel(Level.ALL);

我想根据时间创建文件,我希望它根据日期保存在文件夹中。 第一个FileHandler有效,但第二个没有,因为由于某种原因它无法创建目录。

这是我的错误。

Exception in thread "main" java.io.IOException: Couldn't get lock for %h/AntonGUI_Tester/Logfiles/15-05-2013/13-19-25.log
    at java.util.logging.FileHandler.openFiles(FileHandler.java:372)
    at java.util.logging.FileHandler.<init>(FileHandler.java:237)
    at main.STSMain.main(STSMain.java:77)

是否有必须更改的属性或是否与权限有关?

如果您需要更多代码,或者我的问题不够明确,请告诉我。

1 个答案:

答案 0 :(得分:0)

这是因为FileHandler类不会动态创建子目录,您必须在实例化FileHandler之前创建日期目录。

也许你忘了在第一个例子中使用“logDate”。

此致