2016-09-02 5 views
0

특정 크기에 도달하면 Java FileHandler가 다음 로그 파일로 롤업되는 방법을 이해합니다. 내가 원하는 것은 조금 다릅니다. FileHandler를 사용하여 프로그램이 시작될 때 시퀀스에서 가장 오래된 마지막 기록 된 시간의 로그 파일을 사용하려고합니다. 예를 들어 Java FileHandler 및 롤링 로그 파일

내가 5 개 로그 파일을 사용하여 지정한 경우 : mylog.0.log, mylog.1.log ... mylog.4.log

프로그램이 마지막으로 업데이트 한 경우 mylog.2.log을 다음에 프로그램을 시작하면 mylog.3.log에 로깅을 시작합니다.

내가 풀려고하는 문제는 사용자가 프로그램을 실행하고 일반적으로 프로그램이 다시 시작될 때 발생하며 mylog.0.log를 사용할 수있는 경우에는 항상 mylog.1.log로 이동하지 않습니다. 나는 이전 프로그램 실행에서 정보를 잃어 버린다. java.util.logging.FileHandler에 대한 문서 당

+0

파일이있는 경우 조건 코드 블록을 사용하고 이름이 다른 로그 파일을 사용하십시오. –

+0

이 질문에 추가 할 수있는 코드 및/또는 logging.properties가 있습니까? – jmehrens

답변

0

:

파일은 기본 파일 이름에 등, "0", "1", "2"를 추가하여 명명 된, 구

.

주문이 항상 원하는 것과 반대라는 것을 의미합니다.

유일한 옵션은 implement a config class인데 원하는 파일 이름을 생성하여 FileHandler에 전달하는 것입니다.

manually rollover a log file 수 있지만 원하는 순서대로 아닙니다.

+0

한계를 1로 설정하지 않으면 다음 바이트로 롤링하기 전에 파일에 1 바이트를 씁니다. 어떻게하면 내 문제가 해결 될까요? 나는 프로그램의 수명 동안 단일 로그 파일에 모든 것을 기록한 다음 프로그램의 다음 호출을 위해 다음 순차 로그 파일을 사용하고 원하는 로그 파일의 최대 개수에 도달하면 로그 파일 0으로 롤백하고 싶다. 사용. –