롤링 파일이 로그에 어떻게 구현되는지 궁금합니다.롤링 파일 구현
파일 크기를 초과하지 않도록 모든 언어로 파일 쓰기 클래스를 만드는 방법부터 시작합니다. 내가 생각할 수있는
가능한 유일한 해결책은 이것이다 :
write method:
size = file size + size of string to write
if(size > limit)
close the file writer
open file reader
read the file
close file reader
open file writer (clears the whole file)
remove the size from the beginning to accommodate for new string to write
write the new truncated string
write the string we received
이 끔찍한 구현 것 같아,하지만 난 더 나은 아무것도까지 생각할 수 없다.
특히 자바에서 해결책을보고 싶습니다.
EDIT : 처음부터 크기를 제거하면 20 바이트 문자열 (한도)이 있고 다른 3 바이트 문자열을 쓰고 싶기 때문에 처음부터 3 바이트를 제거하고 끝 17 바이트, 그리고 새 문자열을 추가하여 20 바이트 있습니다.
로깅 프레임 워크에서 롤오버 수행에 대한 정책이 다르기 때문에 조금 더 복잡합니다. 예를 들어'logback'을위한 소스 코드를 다운로드하고'RollingFileAppender'와'FixedWindowRollingPolicy' 클래스, 특히'rollover()'메소드를보십시오. –
감사합니다. 흥미 롭습니다.하지만 예를 들어 단순히 PrintWriter를 확장하는 무언가를 만들고 싶다면 가능한 한 간단하고 우아하게 만들고 싶습니다. – Quillion
게시 한 내용에는 요점이 있지만 처음부터 크기를 _ 제거하면 무엇을 의미합니까? –