java.io.IOException:无法获取锁定

时间:2013-11-21 02:50:00

标签: java filehandler

获取错误

“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);

3 个答案:

答案 0 :(得分:4)

@Catheryan

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

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

FILE_PATH错了

答案 1 :(得分:2)

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

JDK-6244047 : impossible to specify directories to logging FileHandler unless they exist

引用此错误的描述:

  

如果指定包含目录的FileHandler的patern   当前不存在,然后FileHandler将失败   即使可以创建目录,也要初始化

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

答案 2 :(得分:0)

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