FileHandler
FileHandler (파일 로그 핸들러)
FileHandler은 단순한 파일 로깅 Handler예요. StreamHandler를 확장해요. FileHandler은 지정된 파일에 쓰거나 회전(rotating)하는 파일 집합에 쓸 수 있어요. 회전 파일 집합의 경우 각 파일이 지정된 크기 한도에 도달하면 닫히고 회전되어 새 파일이 열려요. 더 오래된 파일에는 기본 파일 이름에 "0", "1", "2" 등이 추가돼요. 기본적으로 IO 라이브러리에서 버퍼링이 활성화되지만 각 로그 레코드는 완료되면 플러시돼요. 기본적으로 XMLFormatter 클래스가 형식화에 사용돼요.
본문
구성
기본적으로 각 FileHandler은 다음 LogManager 구성 프로퍼티로 초기화되며, <handler-name>은 핸들러의 완전한 클래스 이름을 나타내요. 프로퍼티가 정의되지 않으면(또는 유효하지 않은 값이면) 지정된 기본값이 사용돼요.
<handler-name>.level—Handler의 기본 레벨을 지정해요(기본Level.ALL).<handler-name>.filter— 사용할Filter클래스 이름(기본 필터 없음).<handler-name>.formatter— 사용할Formatter클래스 이름(기본java.util.logging.XMLFormatter).<handler-name>.encoding— 사용할 문자 집합 인코딩 이름(기본 플랫폼 인코딩).<handler-name>.limit— 한 파일에 쓸 대략적 최대량(바이트). 0이면 제한 없음(기본 제한 없음).<handler-name>.count— 회전에 사용할 파일 수(기본 1).<handler-name>.pattern— 생성할 출력 파일의 이름 패턴(기본%h/java%u.log).<handler-name>.append— 각Handler을 기존 파일에 추가할지 지정(기본 false).
%t, %h, %g, %u, %% 같은 패턴 변수를 파일 이름 패턴에 사용할 수 있어요, 시스템 임시 디렉터리, 사용자 홈, 세대 번호, 고유 번호를 각각 나타내요.
생성자
FileHandler()는 기본 레벨·필터·포매터·출력 등 LogManager 구성으로 초기화된 FileHandler을 생성해요. 여러 오버로드된 생성자가 패턴·제한·개수·append 등을 직접 지정할 수 있어요.