我正在使用来自 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 .....”。有人知道为什么吗?
最佳答案
您应该提供完整的类名。 Logger
和 FileHandler
不明确。但是,我猜您正在使用某种记录器,可能是 Log4j 和 RollingFileAppender,这就是为什么您的文件正在旋转,即 xxx.log.1 和 xxx.log.2。
您的文件正被某些其他进程/应用程序使用,这就是您无法锁定该文件的原因。
关于java - 无法在 Java 中锁定 .log 文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5700752/