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

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

Formatter aFormatter = new SimpleFormatter();

aFileHandler.setFormatter(aFormatter);

aLogger.setLevel(Level.ALL);

aLogger.addHandler(aFileHandler);

此日志文件由多个进程同时使用。

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

最佳答案

您应该提供完整的类名。 LoggerFileHandler 不明确。但是,我猜您正在使用某种记录器,可能是 Log4j 和 RollingFileAppender,这就是为什么您的文件正在旋转,即 xxx.log.1 和 xxx.log.2。
您的文件正被某些其他进程/应用程序使用,这就是您无法锁定该文件的原因。

关于java - 无法在 Java 中锁定 .log 文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5700752/

10-10 03:00