5

エラーを取得する

「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);
4

3 に答える 3

6

@キャサリアン

私も同じ問題を抱えていました。私にとって問題は:

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 より前のバージョンの場合、回避策は、使用されているパターンのディレクトリを使用しないかFileHandler、ディスク上に実際に存在するディレクトリを使用することです。

于 2015-08-28T21:23:46.277 に答える
2

これは、開いているロガーのインスタンスが複数あるか、他の外部アプリケーションが読み取り/書き込みロックで開いているためだと思います。

于 2013-11-21T03:58:59.963 に答える