FileHandler中的问题

时间:2013-10-24 16:49:10

标签: java

我正在尝试初始化FileHandler以写入给定的文件名,并使用foll语法可选附加:

FileHandler fh = null;
fh = new FileHandler("C:\\Users\\Desktop\\New_folder\\logs\\slate\\TodayLoad-2013-10-24.log",true); 

但我得到的例外是:

java.io.IOException: Couldn't get lock for  C:\Users\Desktop\New_folder\logs\slate\TodayLoad-2013-10-24.log
    at java.util.logging.FileHandler.openFiles(Unknown Source)
    at java.util.logging.FileHandler.<init>(Unknown Source)
    at TodayLoad.Load.<init>(SlateSheetLoad.java:173)
    at TodayLoad.Load.SlateSheetLoad.main(SlateSheetLoad.java:423)

如何解决此问题。

2 个答案:

答案 0 :(得分:0)

可能您的文件被其他进程访问了。 看到这篇可以帮到你的帖子 couldn't get lock for .log file in Java

答案 1 :(得分:0)

在写入100个日志文件后,您会发现错误。根本原因是Java中的错误。例如,参见

System Property Controls the java.util.logging.FileHandler's MAX_LOCKS Limit

Increase java.util.logging.FileHandler MAX_LOCKS limit

这些参考还提出了一种解决方案:在执行记录的代码之前,先设置系统属性“ jdk.internal.FileHandlerLogging.maxLocks”。例如,通过

Cypress.config().environment.username