无法在 Java 中获取 .log 文件的锁定

NAR*_*ARU 5 java logging

我使用Restlet 框架中的Logger和 FileHandler 在生产模式下记录我的应用程序。但是,我总是收到异常“无法为记录器创建 FileHandler:无法获取 test.log 的锁定”。我该如何解决这个问题?这是代码:

FileHandler aFileHandler = new FileHandler("test.log");

Formatter aFormatter = new SimpleFormatter();

aFileHandler.setFormatter(aFormatter);

aLogger.setLevel(Level.ALL);

aLogger.addHandler(aFileHandler);
Run Code Online (Sandbox Code Playgroud)

该日志文件同时被多个进程使用。

除了.log 文件之外,还创建了许多其他文件,例如“.log.1,.log.2 .....”。有人知道为什么吗?

Abh*_*hek 2

您应该提供完整的类名。Logger&FileHandler是有歧义的。不过我猜你正在使用某种记录器,可能是 Log4j 和 RollingFileAppender,这就是你的文件被轮换的原因,即 xxx.log.1 和 xxx.log.2。您的文件正在被其他进程/应用程序使用,这就是您无法锁定该文件的原因。