public abstract class Handler extends Object
Handler は setLevel(Level.OFF) を実行して使用不可にし、setLevel を適切なレベルで実行して再度使用可能にすることができます。
通常、Handler クラスは LogManager プロパティーを使用して Handler の Filter、Formatter、および Level のデフォルト値を設定します。各具象 Handler クラスについては、それぞれのドキュメントを参照してください。
修飾子 | コンストラクタと説明 |
---|---|
protected |
Handler()
デフォルトのコンストラクタです。
|
修飾子と型 | メソッドと説明 |
---|---|
abstract void |
close()
Handler を閉じて、関連するすべてのリソースを解放します。
|
abstract void |
flush()
バッファリングされた出力をフラッシュします。
|
String |
getEncoding()
この Handler の文字エンコーディングを返します。
|
ErrorManager |
getErrorManager()
この Handler の ErrorManager を取得します。
|
Filter |
getFilter()
この Handler の現在の Filter を取得します。
|
Formatter |
getFormatter()
この Handler の Formatter を返します。
|
Level |
getLevel()
この Handler がどのメッセージをロギングするかを指定するログレベルを取得します。
|
boolean |
isLoggable(LogRecord record)
この Handler が、指定されたLogRecord を実際にロギングするかどうかを調べます。
|
abstract void |
publish(LogRecord record)
LogRecord を発行します。
|
protected void |
reportError(String msg, Exception ex, int code)
この Handler の ErrorManager にエラーを通知する簡易 protected 簡易メソッドです。
|
void |
setEncoding(String encoding)
この Handler が使用する文字エンコーディングを設定します。
|
void |
setErrorManager(ErrorManager em)
この Handler の ErrorManager を定義します。
|
void |
setFilter(Filter newFilter)
この Handler の出力を制御する Filter を設定します。
|
void |
setFormatter(Formatter newFormatter)
Formatter を設定します。
|
void |
setLevel(Level newLevel)
この Handler がどのメッセージレベルをロギングするかを指定するログレベルを設定します。
|
protected Handler()
public abstract void publish(LogRecord record)
初期状態では、ロギングの要求は Logger オブジェクトに対して行われ、このオブジェクトは LogRecord を初期化してここに転送しました。
Handler は、必要に応じてメッセージをフォーマットする役割を担います。フォーマット処理にはローカライズも含まれるべきです。
record
- ログイベントの説明。null レコードは何の通知もなく無視され、発行されないpublic abstract void flush()
public abstract void close() throws SecurityException
close メソッドは、flush を実行したあとで Handler を閉じます。close の呼び出し後にこの Handler を使用しないようにしてください。メソッド呼び出しを行なった場合、その呼び出しは何の通知もなく無視されるか、実行時例外がスローされます。
SecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持っていない場合。public void setFormatter(Formatter newFormatter) throws SecurityException
一部の Handler は Formatter を使用しません。その場合、Formatter は記憶されるだけで、使用されません。
newFormatter
- 使用する Formatter (null 以外)SecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持っていない場合。public Formatter getFormatter()
public void setEncoding(String encoding) throws SecurityException, UnsupportedEncodingException
エンコーディングは、LogRecord が Handler に書き込まれる前に設定してください。
encoding
- サポートされる文字エンコーディングの名前。null も可能。これはデフォルトのプラットフォームエンコーディングを示すSecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持っていない場合。UnsupportedEncodingException
- 指定された文字エンコーディングがサポートされていない場合。public String getEncoding()
public void setFilter(Filter newFilter) throws SecurityException
publish の呼び出しごとに、Handler はこの Filter (null でない場合) を呼び出して LogRecord が通知されたか、または破棄されたかを調べます。
newFilter
- Filter オブジェクト (null の場合がある)SecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持っていない場合。public Filter getFilter()
public void setErrorManager(ErrorManager em)
ErrorManager の error メソッドは、この Handler を使用中にエラーが発生した場合に呼び出されます。
em
- 新しい ErrorManagerSecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持っていない場合。public ErrorManager getErrorManager()
SecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持っていない場合。protected void reportError(String msg, Exception ex, int code)
msg
- 記述文字列 (null の場合がある)ex
- 例外 (null の場合がある)code
- ErrorManager で定義されたエラーコードpublic void setLevel(Level newLevel) throws SecurityException
これは、開発者が多量のロギングをオンに設定することができるようにする一方で、特定の Handler へ送信されるメッセージを制限できるようにするためのものです。
newLevel
- ログレベルの新しい値SecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持っていない場合。public Level getLevel()
public boolean isLoggable(LogRecord record)
このメソッドは、LogRecord の Level が適切かどうか、およびそのレコードが任意の Filter を満足するかどうかをチェックします。これは、場合によっては Handler に固有のその他のチェックも行います。そしてその結果、ハンドラが LogRecord をロギングしない可能性があります。LogRecord が null の場合、これは false を返します。
record
- LogRecord バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.