这个项目是传给我的,所以不太了解。有一种使用日志(java.util.logging.Logger)的方法,它会创建两个日志文件:
第一个文件:fileName.log
第二个文件:fileName.log.lck
在 Linux 中,当我这样做时lsof
,我看到这两个文件是打开的。如何关闭这两个文件?
我要关闭这些文件的原因是这种方法每天运行多次,几周后打开文件的数量达到限制(大约 1000 个),此时我们的系统停止工作。当我们重新启动我们的进程(执行日志记录的“作业控制器”)时,打开的日志文件数变为 0,并且它再次工作。
这就是日志记录所做的工作
private static Logger log = Logger.getLogger(MyClass.class.getPackage().getName());
try{
log.logp(Level.SEVERE, "com.MyClass", "run", "It failed");
}
这是我试图关闭 finally 块中的文件但它没有用
finally{
Handler[] handler = log.getHandlers();
for(Handler h: handler){
h.close();
}
}