JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.util.logging
클래스 MemoryHandler

java.lang.Object 
  |
  +--java.util.logging.Handler 
        |
        +--java.util.logging.MemoryHandler

public class MemoryHandler
extends Handler

메모리의 순환 버퍼의 요구를 버퍼 처리하는 Handler 입니다.

통상, 이 Handler 는 착신하는 LogRecord 를 그 메모리밧파에 저장하는 것만으로, 이전의 레코드를 파기합니다. 이 버퍼링은 매우 싸게 들어 포맷 처리의 코스트가 들지 않게 합니다. 특정의 방아쇠의 조건아래에서,MemoryHandler 는 현재의 버퍼의 내용을 타겟 Handler 에 푸쉬 해, 통상은 이 핸들러가 그 내용을 외부에 통지합니다.

버퍼의 푸쉬를 방아쇠 모델에게는 주로 다음의 3 개가 있습니다.

구성: 디폴트로, 각 MemoryHandler 는 다음에 나타내는 LogManager 구성 프로퍼티를 사용해 초기화됩니다. 프로퍼티가 미정도리의 경우 (또는 무효인 값을 가지는 경우), 지정된 디폴트의 값이 사용됩니다.

도입된 버젼:
1.4

생성자의 개요
MemoryHandler ()
          MemoryHandler 를 작성해 LogManager 의 구성 프로퍼티에 근거해 구성합니다.
MemoryHandler (Handler  target, int size, Level  pushLevel)
          MemoryHandler 를 작성합니다.
 
메소드의 개요
 void close ()
          Handler 를 닫아 관련하는 모든 리소스를 해방합니다.
 void flush ()
          타겟 Handler 를 플래시 합니다.
 Level getPushLevel ()
          pushLevel 를 돌려줍니다.
 boolean isLoggable (LogRecord  record)
          이 Handler 가, 지정된 LogRecord 를 내부 버퍼에 실제로 로깅 할지 어떨지를 조사합니다.
 void publish (LogRecord  record)
          내부 버퍼에 LogRecord 를 저장합니다.
 void push ()
          임의의 버퍼 처리된 출력을 타겟 Handler 에 푸쉬 합니다.
 void setPushLevel (Level  newLevel)
          pushLevel 를 설정합니다.
 
클래스 java.util.logging. Handler 에서 상속받은 메소드
getEncoding , getErrorManager , getFilter , getFormatter , getLevel , reportError , setEncoding , setErrorManager , setFilter , setFormatter , setLevel
 
클래스 java.lang. Object 에서 상속받은 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자의 상세

MemoryHandler

public MemoryHandler()
MemoryHandler 를 작성해 LogManager 의 구성 프로퍼티에 근거해 구성합니다.


MemoryHandler

public MemoryHandler(Handler  target,
                     int size,
                     Level  pushLevel)
MemoryHandler 를 작성합니다.

MemoryHandler 는 지정된 pushLevel 인수와 버퍼 사이즈 인수가 사용되지 않는 한,LogManager 프로퍼티 또는 그 디폴트 값에 근거해 구성됩니다.

파라미터:
target - 출력을 통지하는 Handler
size - 버퍼 처리하는 로그 레코드의 수 (제로보다 크지 않으면 안 된다)
pushLevel - 푸쉬를 실시하는 메세지 레벨
예외:
IllegalArgumentException - 사이즈가 0 이하이다
메소드의 상세

publish

public void publish(LogRecord  record)
내부 버퍼에 LogRecord 를 저장합니다.

Filter 가 있는 경우, 그 isLoggable 메소드가 불려 가 지정된 로그 레코드가 로그를 취하는 것이 가능한지 어떤지를 조사합니다. 가능하지 않은 경우, 그대로 복귀합니다. 가능한 경우, 지정된 레코드가 내부 순환 버퍼에 카피됩니다. 다음에, 레코드의 레벨 프로퍼티가 pushLevel 라고 비교됩니다. 지정된 레벨이 pushLevel 보다 큰가 또는 동일한 경우,push 가 불려 가 버퍼 처리된 모든 레코드를 타겟 출력 Handler 에 기입합니다.

정의:
클래스 Handler 내의 publish
파라미터:
record - 로그 이벤트의 설명

push

public void push()
임의의 버퍼 처리된 출력을 타겟 Handler 에 푸쉬 합니다.

버퍼가 클리어 됩니다.


flush

public void flush()
타겟 Handler 를 플래시 합니다.

MemoryHandler 버퍼의 현재의 내용은 써내지지 않은 것에 주의해 주세요. 써내려면 push 가 필요하게 됩니다.

정의:
클래스 Handler 내의 flush

close

public void close()
           throws SecurityException 
Handler 를 닫아 관련하는 모든 리소스를 해방합니다. 이것에 의해 타겟 Handler 도 닫혀집니다.

정의:
클래스 Handler 내의 close
예외:
SecurityException - 시큐러티 매니저가 존재해, 호출원이 LoggingPermission("control")) 를 가지지 않는 경우

setPushLevel

public void setPushLevel(Level  newLevel)
                  throws SecurityException 
pushLevel 를 설정합니다. LogRecord 가 내부 버퍼에 카피되면(자), 그 레벨이 pushLevel 보다 큰가 동일한 경우,push 가 불려 갑니다.

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

getPushLevel

public Level  getPushLevel()
pushLevel 를 돌려줍니다.

반환값:
pushLevel 의 값

isLoggable

public boolean isLoggable(LogRecord  record)
Handler 가, 지정된 LogRecord 를 내부 버퍼에 실제로 로깅 할지 어떨지를 조사합니다.

이 메소드는 LogRecord 가 적절한 레벨을 가지고 있을지 어떨지 및 모든 Filter 를 채우고 있는지 어떤지를 조사합니다. 다만,LogRecord 에 의해 버퍼의 내용이 「푸쉬」될까는 조사하지 않습니다.

오버라이드(override):
클래스 Handler 내의 isLoggable
파라미터:
record - LogRecord
반환값:
LogRecord 가 로그를 빼앗기는 경우는 true

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.