|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.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
内の 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 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。