首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FileHandler中的问题

FileHandler中的问题
EN

Stack Overflow用户
提问于 2013-10-25 00:49:10
回答 2查看 1.2K关注 0票数 0

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

代码语言:javascript
复制
FileHandler fh = null;
fh = new FileHandler("C:\\Users\\Desktop\\New_folder\\logs\\slate\\TodayLoad-2013-10-24.log",true); 

但我得到的异常是:

代码语言:javascript
复制
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)

我该如何解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2013-10-25 00:51:48

您的文件可能正在被另一个进程访问。查看这篇可以帮助你couldn't get lock for .log file in Java的文章

票数 0
EN

Stack Overflow用户

发布于 2020-04-09 18:25:31

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

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

Increase java.util.logging.FileHandler MAX_LOCKS limit

这些参考还建议了一种解决方案:在执行日志记录的代码之前设置系统属性"jdk.internal.FileHandlerLogging.maxLocks“。例如,通过以下方式

代码语言:javascript
复制
 // Set maxLocks to 200. The default is 100.
 System.setProperty("jdk.internal.FileHandlerLogging.maxLocks", "200");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19571899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档