|
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 がスローされます。
| コンストラクタの概要 | |
|---|---|
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 内の publishrecord - ログイベントの説明。null レコードは何の通知もなく無視され、発行されないpublic void push()
バッファーがクリアされます。
public void flush()
MemoryHandler バッファーの現在の内容は書き出されないことに注意してください。書き出すには push が必要になります。
Handler 内の flush
public void close()
throws SecurityException
Handler 内の closeSecurityException - セキュリティーマネージャーが存在する場合で、呼び出し元が 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 内の isLoggablerecord - LogRecord
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。