java.io.IOException:无法';我没有得到锁

java.io.IOException:无法';我没有得到锁,java,filehandler,Java,Filehandler,获取错误为 “java.io.IOException:无法获取..\log\abc.log的锁”, 不知道为什么会这样 有人能帮我吗?多谢各位 logger = LogManager.getLogManager().getLogger(className); FileHandler logFile = new FileHandler(file); // create txt Formatter SimpleFormatter fo

获取错误为

“java.io.IOException:无法获取..\log\abc.log的锁”, 不知道为什么会这样

有人能帮我吗?多谢各位

        logger = LogManager.getLogManager().getLogger(className);
        FileHandler logFile = new FileHandler(file);

        // create txt Formatter
        SimpleFormatter formatterTxt = new SimpleFormatter();
        logFile.setFormatter(formatterTxt);         
        logger.addHandler(logFile);

我认为这是因为有多个记录器实例打开了它,或者其他外部应用程序使用读/写锁打开了它。

@Catheryan

我也有同样的问题。 对我来说,问题是:

private static final String FILE_PATH="/home/jeril/Logs.log";
handler = new FileHandler(FILE_PATH);

文件路径错误

这个问题是
文件处理程序中的一个长期存在的错误(早在2005年3月,Java 4中就有报告):

引用此错误的描述:

如果指定包含目录的FileHandler的模式 如果当前不存在,则FileHandler将无法 即使可以创建目录,也要初始化


它提到它已在Java8中修复。对于8之前的版本,解决方法是不使用
文件处理程序使用的模式中的任何目录,或者使用磁盘上实际存在的目录。

是否可以发布记录器属性文件?是否确实可以在文件名模式中使用“.”?我以前从未见过这样做。我会假设其他进程已经打开了日志文件…或者您没有权限写入该位置…我已经足够清楚地看到了消息。你不明白什么?检查文件夹是否存在,如果不存在,在使用文件处理程序之前创建它解决了问题!