|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.util.logging.Handler
java.util.logging.MemoryHandler
public class MemoryHandler
메모리의 순환 버퍼의 요구를 버퍼 처리하는 Handler 입니다.
일반적으로, 이 Handler 는 단지, 수신한 LogRecord 를 자신의 메모리 버퍼내에 포함해, 이전의 레코드를 파기합니다. 이 버퍼 처리는 매우 저비용이며, 포맷 처리의 코스트도 들지 않습니다. 특정의 트리거 조건이 성립하면(자),MemoryHandler 는 버퍼내의 현재의 내용을 타겟 Handler 에 푸쉬 합니다. 그 핸들러는 일반적으로, 그 내용을 외부로 향해 발행합니다.
버퍼의 푸쉬를 방아쇠 모델에게는, 주로 다음의 3 개가 있습니다.
구성: 각 MemoryHandler 는 디폴트로, 다음의 LogManager 구성 프로퍼티을 사용해 초기화됩니다. 프로퍼티이 지정되지 않은 경우 (또는 무효인 값을 가지는 경우), 지정된 디폴트 값가 사용됩니다. 디폴트 값가 정의되어 있지 않은 경우는, RuntimeException 가 throw 됩니다.
생성자 의 개요 | |
---|---|
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 |
생성자 의 상세 |
---|
public MemoryHandler()
public MemoryHandler(Handler target, int size, Level pushLevel)
MemoryHandler 는, 지정된 pushLevel 인수와 버퍼 사이즈 인수가 사용되지 않는 한,LogManager 프로퍼티 또는 그 디폴트 값에 근거해 구성됩니다.
target
- 출력을 통지하는 Handlersize
- 버퍼 처리하는 로그 레코드의 수 (제로보다 크지 않으면 안 된다)pushLevel
- 푸쉬를 실시하는 메세지 레벨
IllegalArgumentException
- 사이즈가 0 이하이다메소드의 상세 |
---|
public void publish(LogRecord record)
Filter 가 존재하는 경우, 그 isLoggable 메소드가 불려 가 지정된 로그 레코드가 로깅 가능한가 어떤가가 체크됩니다. 가능하지 않은 경우는 돌아옵니다. 그 이외의 경우, 지정된 레코드가 내부의 순환 버퍼에 카피됩니다. 다음에, 그 레코드의 level 프로퍼티과 pushLevel 가 비교됩니다. 지정된 레벨이 pushLevel 와 동일한가 그것보다 큰 경우,push 를 호출하는 것으로, 버퍼내의 모든 레코드가 타겟 출력 Handler 에 기입해집니다.
Handler
내의 publish
record
- 로그 이벤트의 설명. null 레코드는 아무 통지도 없게 무시되어 발행되지 않는다public void push()
버퍼가 클리어 됩니다.
public void flush()
MemoryHandler 버퍼의 현재의 내용은 써내지지 않은 것에 주의해 주세요. 써내려면 push 가 필요하게 됩니다.
Handler
내의 flush
public void close() throws SecurityException
Handler
내의 close
SecurityException
- 시큐리티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control") 를 가지고 있지 않은 경우public void setPushLevel(Level newLevel) throws SecurityException
newLevel
- pushLevel 의 새로운 값
SecurityException
- 시큐리티 매니저가 존재하는 경우로, 호출원이 LoggingPermission("control") 를 가지고 있지 않은 경우public Level getPushLevel()
public boolean isLoggable(LogRecord record)
이 메소드는,LogRecord 의 레벨이 적절한가 어떤가 및 그 레코드가 임의의 Filter 를 만족할지 어떨지를 체크합니다. 다만, 이것은, 이 LogRecord 에 의해 버퍼의 내용이 「푸쉬」될지 어떨지는 체크 「하지 않습니다」. LogRecord 가 null 의 경우, 이것은 false 를 돌려줍니다.
Handler
내의 isLoggable
record
- LogRecord
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.