StreamHandler
StreamHandler (스트림 기반 로그 핸들러)
StreamHandler은 스트림 기반 로깅 Handler이에요. 주로 다른 로깅 Handler을 구현할 때 기본 클래스나 지원 클래스로 사용하기 위한 것이에요. LogRecord는 주어진 java.io.OutputStream에 게시돼요. Java 1.4부터 제공돼요.
본문
알려진 직접 서브클래스로는 ConsoleHandler, FileHandler, SocketHandler이 있어요. 이 클래스는 Handler를 확장해요.
구성
기본적으로 각 StreamHandler은 다음 LogManager 구성 프로퍼티로 초기화돼요(<handler-name>은 핸들러의 완전한 클래스 이름). 프로퍼티가 정의되지 않으면 지정된 기본값이 사용돼요.
<handler-name>.level—Handler의 기본 레벨(기본Level.INFO).<handler-name>.filter— 사용할Filter클래스 이름(기본 필터 없음).<handler-name>.formatter— 사용할Formatter클래스 이름(기본java.util.logging.SimpleFormatter).<handler-name>.encoding— 사용할 문자 집합 인코딩 이름(기본 플랫폼 인코딩).
예를 들어 StreamHandler 프로퍼티는 다음과 같아요:
java.util.logging.StreamHandler.level=INFO
java.util.logging.StreamHandler.formatter=java.util.logging.SimpleFormatter
사용자 지정 핸들러, 예를 들어 com.foo.MyHandler의 프로퍼티는 다음과 같아요:
com.foo.MyHandler.level=INFO
com.foo.MyHandler.formatter=java.util.logging.SimpleFormatter
생성자
StreamHandler()— 기본 레벨Level.INFO로StreamHandler을 생성해요.StreamHandler(OutputStream out, Formatter formatter)— 지정된 출력 스트림과 포매터로StreamHandler을 생성해요.
이외에도 출력 스트림을 설정하는 setOutputStream 메서드와 publish, flush, close 메서드가 제공돼요.