1

我曾经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)

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

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

4

1 回答 1

0

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

也许您忘记在第一个示例中使用“logDate”。

问候,

于 2013-05-15T13:19:53.280 回答