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