ErrorManager

ErrorManager (로그 핸들러 오류 관리)

ErrorManager은 로그 핸들러가 처리 중 오류를 만났을 때 이 오류들을 관리하는 책임을 맡는 클래스예요. Handler가 로그 레코드를 게시하는 동안 발생하는 문제를 보고하는 데 사용돼요.

출처: Java API Reference

본문

Handler에는 ErrorManager이 있어요. 핸들러가 하나의 로그 레코드나 출력에 대해 세 가지 시도 중 실패하면, 그 오류 코드와 함께 ErrorManagererror 메서드에 보고돼요. 이 클래스는 오류를 처리하는 세 가지 주요 코드를 정의해요:

  • static final int GENERIC_FAILURE — 일반(무분류) 실패를 나타내요.
  • static final int WRITE_FAILURE — 출력 스트림에 쓰는 동안 실패했음을 나타내요.
  • static final int FLUSH_FAILURE — 버퍼를 플러시하는 동안 실패했음을 나타내요.
  • static final int CLOSE_FAILURE — 스트림을 닫는 동안 실패했음을 나타내요.
  • static final int OPEN_FAILURE — 스트림을 여는 동안 실패했음을 나타내요.
  • static final int FORMAT_FAILURE — 포맷하는 동안 실패했음을 나타내요.

기본 ErrorManager은 발생한 문제를 System.err에 출력해요. error(String msg, Exception ex, int code) 메서드는 오류를 보고할 때 사용돼요. 커스텀 ErrorManager을 생성해 핸들러가 오류를 처리하는 방식을 바꿀 수 있어요. ErrorManager은 안전하게 멀티스레드로 사용할 수 있도록 설계됐어요.

더 알아보기 (Learn more)

Java 공식 API