JavaTM Platform
Standard Ed. 6

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 구성 프로퍼티을 사용해 초기화됩니다. 프로퍼티이 지정되지 않은 경우 (또는 무효인 값을 가지는 경우), 지정된 디폴트 값가 사용됩니다. 디폴트 값가 정의되어 있지 않은 경우는, RuntimeException 가 throw 됩니다.

도입된 버젼:
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 메소드가 불려 가 지정된 로그 레코드가 로깅 가능한가 어떤가가 체크됩니다. 가능하지 않은 경우는 돌아옵니다. 그 이외의 경우, 지정된 레코드가 내부의 순환 버퍼에 카피됩니다. 다음에, 그 레코드의 level 프로퍼티과 pushLevel 가 비교됩니다. 지정된 레벨이 pushLevel 와 동일한가 그것보다 큰 경우,push 를 호출하는 것으로, 버퍼내의 모든 레코드가 타겟 출력 Handler 에 기입해집니다.

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

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 에 의해 버퍼의 내용이 「푸쉬」될지 어떨지는 체크 「하지 않습니다」. LogRecord 가 null 의 경우, 이것은 false 를 돌려줍니다.  

오버라이드(override):
클래스 Handler 내의 isLoggable
파라미터:
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 도 참조해 주세요.