이 프로젝트는 저에게 맡겨 졌으므로 그것에 대해 많이 알지 못합니다. 이 로그 (java.util.logging.Logger)을 사용하는 방법이며 두 개의 로그 파일을 생성합니다로그 파일 닫기
첫 번째 파일 : fileName.log
두 번째 파일 : fileName.log.lck
을 리눅스에서 lsof
을 실행하면이 두 파일이 열린 것으로 간주됩니다. 이 두 파일을 닫으려면 어떻게해야합니까?
이 파일을 닫으려는 이유는이 방법이 하루에 여러 번 실행되고 열린 파일의 수가 제한 (약 1000 개)에 도달하여 시스템이 작동을 멈춘다는 것입니다. 프로세스를 다시 시작할 때 (로그를 수행하는 "Job Controller") 열린 로그 파일 수가 0이되어 다시 작동합니다.
이
이 내가 finally 블록에있는 파일을 닫습니다하려고 노력 무엇private static Logger log = Logger.getLogger(MyClass.class.getPackage().getName());
try{
log.logp(Level.SEVERE, "com.MyClass", "run", "It failed");
}
로그인 무엇을 해본 적이있다하지만 최초의 솔루션
finally{
Handler[] handler = log.getHandlers();
for(Handler h: handler){
h.close();
}
}
왜 이러한 파일을 닫으시겠습니까? – jdevelop
이러한 파일을 닫으면 아마도 문제가 발생할 수 있습니다. –
열린 파일 수가 특정 한도에 도달 한 후 몇 주가 지나면 어떤 일이 발생합니까? 따라서 프로세스 (작업 제어기)를 다시 시작하면 열려있는 파일 수가 0으로 돌아가고 모든 것이 작동합니다. 수동으로 매번 프로세스를 자주 다시 시작하는 대신 코드에서 수행해야합니다. – Susie