このプロジェクトは私に受け継がれているので、よくわかりません。ログ(java.util.logging.Logger)を使用して、2つのログファイルを作成する方法があります。
最初のファイル:fileName.log
2番目のファイル:fileName.log.lck
Linuxで実行するとlsof
、これら2つのファイルが開いているように見えます。これらの2つのファイルを閉じるにはどうすればよいですか?
これらのファイルを閉じたい理由は、このメソッドが1日に複数回実行され、数週間後に開いているファイルの数が制限(約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();
}
}