JavaTM Platform
Standard Ed. 6

java.util.logging
클래스 Handler

java.lang.Object 
  상위를 확장 java.util.logging.Handler
직계의 기존의 서브 클래스:
MemoryHandler , StreamHandler


public abstract class Handler
extends Object

Handler 객체는,Logger 로부터 로그 메세지를 받아들여, 그것들을 export 합니다. 예를 들어, 이 객체는, 콘솔이나 파일에 기입해, 네트워크 로그 서비스에 송신해, OS 로그에의 전송등을 실행합니다.  

HandlersetLevel(Level.OFF) 를 실행해 사용 불가로 해,setLevel 를 적절한 레벨로 실행해 재차 사용 가능하게 할 수가 있습니다.  

일반적으로,Handler 클래스는,LogManager 의 프로퍼티을 사용해 HandlerFilter,Formatter, 및 Level 의 디폴트 값를 설정합니다. 각 구상 Handler 클래스에 대해서는, 각각의 문서를 참조해 주세요.

도입된 버젼:
1.4

생성자 의 개요
protected Handler ()
          디폴트의 생성자 입니다.
 
메소드의 개요
abstract  void close ()
          Handler 를 닫아, 관련하는 모든 자원을 해제합니다.
abstract  void flush ()
          버퍼링 된 출력을 플래시 합니다.
 String getEncoding ()
          이 Handler 의 문자 인코딩을 돌려줍니다.
 ErrorManager getErrorManager ()
          이 HandlerErrorManager 를 가져옵니다.
 Filter getFilter ()
          이 Handler 의 현재의 Filter 를 가져옵니다.
 Formatter getFormatter ()
          이 HandlerFormatter 를 돌려줍니다.
 Level getLevel ()
          이 Handler 가 어느 메세지를 로깅 하는지를 지정하는 로그 레벨을 가져옵니다.
 boolean isLoggable (LogRecord  record)
          이 Handler 가, 지정된 LogRecord 의 로그를 실제로 취할지 어떨지를 조사합니다.
abstract  void publish (LogRecord  record)
          LogRecord 를 발행합니다.
protected  void reportError (String  msg, Exception  ex, int code)
          이 Handler 의 ErrorManager 에 에러를 통지하는 간이 protected 편리한 메소드입니다.
 void setEncoding (String  encoding)
          이 Handler 가 사용하는 문자 인코딩을 설정합니다.
 void setErrorManager (ErrorManager  em)
          이 HandlerErrorManager 를 정의합니다.
 void setFilter (Filter  newFilter)
          이 Handler 의 출력을 제어하는Filter 를 설정합니다.
 void setFormatter (Formatter  newFormatter)
          Formatter 를 설정합니다.
 void setLevel (Level  newLevel)
          이 Handler 가 어느 메세지 레벨을 로깅 하는지를 지정하는 로그 레벨을 설정합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

Handler

protected Handler()
디폴트의 생성자 입니다. 결과적으로 얻을 수 있는 Handler 는,Level.ALL 의 로그 레벨을 가져,FormatterFilter 는 가지지 않습니다. 디폴트의 ErrorManager 인스턴스가,ErrorManager 로서 인스톨 됩니다.

메소드의 상세

publish

public abstract void publish(LogRecord  record)
LogRecord 를 발행합니다.  

초기 상태에서는, 로깅의 요구는 Logger 객체에 대해서 행해져 이 객체는 LogRecord 를 초기화해 여기에 전송 했습니다.  

Handler 는, 필요에 따라서 메세지를 포맷 하는 역할을 담당합니다. 포맷 처리에는 로컬라이즈도 포함되어야 합니다.

파라미터:
record - 로그 이벤트의 설명. null 레코드는 아무 통지도 없게 무시되어 발행되지 않는다

flush

public abstract void flush()
버퍼링 된 출력을 플래시 합니다.


close

public abstract void close()
                    throws SecurityException 
Handler 를 닫아, 관련하는 모든 자원을 해제합니다.  

close 메소드는,flush 를 실행한 후에 Handler 를 닫습니다. close 의 호출 후에 이 Handler 를 사용하지 않게 해 주세요. 메소드 호출을 실시했을 경우, 그 호출은 아무 통지도 없게 무시되는지, 실행시 예외가 throw 됩니다.

예외:
SecurityException - 시큐리티 매니저가 존재해, 호출원이 LoggingPermission("control")) 를 가지지 않는 경우

setFormatter

public void setFormatter(Formatter  newFormatter)
                  throws SecurityException 
Formatter 를 설정합니다. 이 Formatter 는, 이 HandlerLogRecord 를 포맷 하기 위해서 사용됩니다.  

일부의 HandlerFormatter 를 사용하지 않습니다. 그 경우,Formatter 는 기억되는 것만으로, 사용되지 않습니다.  

파라미터:
newFormatter - 사용하는 Formatter (null 이외)
예외:
SecurityException - 시큐리티 매니저가 존재해, 호출원이 LoggingPermission("control")) 를 가지지 않는 경우

getFormatter

public Formatter  getFormatter()
HandlerFormatter 를 돌려줍니다.

반환값:
Formatter (null 의 경우가 있다)

setEncoding

public void setEncoding(String  encoding)
                 throws SecurityException ,
                        UnsupportedEncodingException 
Handler 가 사용하는 문자 인코딩을 설정합니다.  

인코딩은,LogRecordHandler 에 기입해지기 전으로 설정할 필요가 있습니다.

파라미터:
encoding - 지원되는 문자 인코딩의 이름. null 도 가능. 이것은 디폴트의 플랫폼 인코딩을 나타낸다
예외:
SecurityException - 시큐리티 매니저가 존재해, 호출원이 LoggingPermission("control")) 를 가지지 않는 경우
UnsupportedEncodingException - 지정된 문자 인코딩이 지원되어 있지 않은 경우

getEncoding

public String  getEncoding()
Handler 의 문자 인코딩을 돌려줍니다.

반환값:
인코딩명. null 도 가능. 이것은 디폴트의 인코딩을 사용해야 하는 것을 나타낸다

setFilter

public void setFilter(Filter  newFilter)
               throws SecurityException 
Handler 의 출력을 제어하는Filter 를 설정합니다.  

publish 가 호출할 것에,Handler 는 이 Filter (null 가 아닌 경우)를 호출해 LogRecord 가 통지되었는지, 또는 파기되었는지를 조사합니다.

파라미터:
newFilter - Filter 객체 (null 의 경우가 있다)
예외:
SecurityException - 시큐리티 매니저가 존재해, 호출원이 LoggingPermission("control")) 를 가지지 않는 경우

getFilter

public Filter  getFilter()
Handler 의 현재의 Filter 를 가져옵니다.

반환값:
Filter 객체 (null 의 경우가 있다)

setErrorManager

public void setErrorManager(ErrorManager  em)
HandlerErrorManager 를 정의합니다.  

ErrorManager 의 error 메소드는, 이 Handler 를 사용중에 에러가 발생했을 경우에 불려 갑니다.

파라미터:
em - 새로운 ErrorManager
예외:
SecurityException - 시큐리티 매니저가 존재해, 호출원이 LoggingPermission("control")) 를 가지지 않는 경우

getErrorManager

public ErrorManager  getErrorManager()
HandlerErrorManager 를 가져옵니다.

예외:
SecurityException - 시큐리티 매니저가 존재해, 호출원이 LoggingPermission("control")) 를 가지지 않는 경우

reportError

protected void reportError(String  msg,
                           Exception  ex,
                           int code)
이 Handler 의 ErrorManager 에 에러를 통지하는 간이 protected 편리한 메소드입니다. 이 메소드가 시큐리티 체크를 실시하지 않고 ErrorManager 를 취득 및 사용하는 것에 주의해 주세요. 따라서, 이것은, 호출원이 특권을 가지지 않을 가능성이 있는 환경에서 사용할 수 있습니다.

파라미터:
msg - 기술 캐릭터 라인 (null 의 경우가 있다)
ex - 예외 (null 의 경우가 있다)
code - ErrorManager 로 정의된 에러 코드

setLevel

public void setLevel(Level  newLevel)
              throws SecurityException 
Handler 가 어느 메세지 레벨을 로깅 하는지를 지정하는 로그 레벨을 설정합니다. 이 값보다 작은 메세지 레벨은 파기됩니다.  

이것은, 개발자가 다량의 로깅을 온으로 설정할 수가 있도록(듯이) 하는 한편으로, 특정의 Handler 에 송신되는 메세지를 제한할 수 있도록(듯이)하기 위한의 것입니다.

파라미터:
newLevel - 로그 레벨의 새로운 값
예외:
SecurityException - 시큐리티 매니저가 존재해, 호출원이 LoggingPermission("control")) 를 가지지 않는 경우

getLevel

public Level  getLevel()
Handler 가 어느 메세지를 로깅 하는지를 지정하는 로그 레벨을 가져옵니다. 이 레벨보다 작은 메세지 레벨은 파기됩니다.

반환값:
로그를 취하는 메세지 레벨

isLoggable

public boolean isLoggable(LogRecord  record)
Handler 가, 지정된 LogRecord 의 로그를 실제로 취할지 어떨지를 조사합니다.  

이 메소드는,LogRecordLevel 가 적절한가 어떤가 및 그 레코드가 임의의 Filter 를 만족할지 어떨지를 체크합니다. 이것은, 경우에 따라서는 Handler 에 고유의 그 외의 체크도 실시합니다. 그리고 그 결과, 핸들러가 LogRecord 를 로깅 하지 않을 가능성이 있습니다. LogRecord 가 null 의 경우, 이것은 false 를 돌려줍니다.  

파라미터:
record - LogRecord
반환값:
LogRecord 가 로그를 빼앗기는 경우는 true

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.