StreamHandler

StreamHandler (스트림 기반 로그 핸들러)

StreamHandler은 스트림 기반 로깅 Handler이에요. 주로 다른 로깅 Handler을 구현할 때 기본 클래스나 지원 클래스로 사용하기 위한 것이에요. LogRecord는 주어진 java.io.OutputStream에 게시돼요. Java 1.4부터 제공돼요.

출처: Java API Reference

본문

알려진 직접 서브클래스로는 ConsoleHandler, FileHandler, SocketHandler이 있어요. 이 클래스는 Handler를 확장해요.

구성

기본적으로 각 StreamHandler은 다음 LogManager 구성 프로퍼티로 초기화돼요(<handler-name>은 핸들러의 완전한 클래스 이름). 프로퍼티가 정의되지 않으면 지정된 기본값이 사용돼요.

  • <handler-name>.levelHandler의 기본 레벨(기본 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.INFOStreamHandler을 생성해요.
  • StreamHandler(OutputStream out, Formatter formatter) — 지정된 출력 스트림과 포매터로 StreamHandler을 생성해요.

이외에도 출력 스트림을 설정하는 setOutputStream 메서드와 publish, flush, close 메서드가 제공돼요.

더 알아보기 (Learn more)

Java 공식 API