FileHandler

FileHandler (파일 로그 핸들러)

FileHandler은 단순한 파일 로깅 Handler예요. StreamHandler를 확장해요. FileHandler은 지정된 파일에 쓰거나 회전(rotating)하는 파일 집합에 쓸 수 있어요. 회전 파일 집합의 경우 각 파일이 지정된 크기 한도에 도달하면 닫히고 회전되어 새 파일이 열려요. 더 오래된 파일에는 기본 파일 이름에 "0", "1", "2" 등이 추가돼요. 기본적으로 IO 라이브러리에서 버퍼링이 활성화되지만 각 로그 레코드는 완료되면 플러시돼요. 기본적으로 XMLFormatter 클래스가 형식화에 사용돼요.

출처: Java API Reference

본문

구성

기본적으로 각 FileHandler은 다음 LogManager 구성 프로퍼티로 초기화되며, <handler-name>은 핸들러의 완전한 클래스 이름을 나타내요. 프로퍼티가 정의되지 않으면(또는 유효하지 않은 값이면) 지정된 기본값이 사용돼요.

  • <handler-name>.levelHandler의 기본 레벨을 지정해요(기본 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 등을 직접 지정할 수 있어요.

더 알아보기 (Learn more)

Java 공식 API