我正在开发一个使用NetBeans平台的项目.在底层,NetBeans使用该java.util.logging框架.
我想通过结合拦截这些日志调用java.util.logging到log4j2.这可能吗?
之前的问题已经被问到类似,但具体log4j而不是log4j2!
这个项目已传给我,所以我对此并不了解.有一种方法,使用log(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");
}
Run Code Online (Sandbox Code Playgroud)
这是我试图关闭finally块中的文件,但它不起作用
finally{
Handler[] handler = log.getHandlers();
for(Handler h: handler){
h.close();
}
}
Run Code Online (Sandbox Code Playgroud)