5

获取错误为

“java.io.IOException: Couldn't get lock for ..\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);
4

3 回答 3

6

@Catheryan

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

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

FILE_PATH 错误

于 2014-01-24T09:41:04.347 回答
3

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

JDK-6244047:无法指定目录来记录 FileHandler,除非它们存在

引用此错误的描述:

如果您为包含当前不存在的目录的 FileHandler 指定一个模式,那么即使可以创建目录,FileHandler 也将无法初始化

它提到它已在 Java 8 中修复。对于 8 之前的版本,解决方法是不使用用于 a 的模式中的任何目录FileHandler或使用磁盘上实际存在的目录。

于 2015-08-28T21:23:46.277 回答
2

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

于 2013-11-21T03:58:59.963 回答