JavaTM 2 Platform
Standard Ed. 5.0

java.util.logging
クラス Handler

java.lang.Object
  上位を拡張 java.util.logging.Handler
直系の既知のサブクラス:
MemoryHandler, StreamHandler

public abstract class Handler
extends Object

Handler オブジェクトは Logger からログメッセージを取得して、それらを書き出します。たとえば、このオブジェクトは、コンソールやファイルに書き込み、ネットワークログサービスに送信し、OS ログへの転送などを実行します。

HandlersetLevel(Level.OFF) を実行して使用不可にし、setLevel を適切なレベルで実行して再度使用可能にすることができます。

通常、Handler クラスは、LogManager のプロパティを使用して HandlerFilterFormatter、および Level のデフォルト値を設定します。各具象 Handler クラスについては、それぞれのドキュメントを参照してください。

導入されたバージョン:
1.4

コンストラクタの概要
protected Handler()
          デフォルトのコンストラクタです。
 
メソッドの概要
abstract  void close()
          Handler を閉じて、関連するすべてのリソースを解放します。
abstract  void flush()
          バッファリングされた出力をフラッシュします。
 String getEncoding()
          この Handler の文字セットを返します。
 ErrorManager getErrorManager()
          この HandlerErrorManager を取得します。
 Filter getFilter()
          この Handler の現在の Filter を取得します。
 Formatter getFormatter()
          この HandlerFormatter を返します。
 Level getLevel()
          この Handler がログをとるメッセージを指定するログレベルを取得します。
 boolean isLoggable(LogRecord record)
          この Handler が、指定された LogRecord のログを実際にとるかどうかを調べます。
abstract  void publish(LogRecord record)
          LogRecord を発行します。
protected  void reportError(String msg, Exception ex, int code)
          この HandlerErrorManager にエラーを通知する簡易 protected メソッドです。
 void setEncoding(String encoding)
          この Handler が使用する文字セットを設定します。
 void setErrorManager(ErrorManager em)
          この HandlerErrorManager を定義します。
 void setFilter(Filter newFilter)
          この Handler の出力を制御する Filter を設定します。
 void setFormatter(Formatter newFormatter)
          Formatter を設定します。
 void setLevel(Level newLevel)
          この Handler がログをとるメッセージレベルを指定するログレベルを設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Handler

protected Handler()
デフォルトのコンストラクタです。Handler の結果は、ログレベル Level.ALL を持ち、FormatterFilter は持ちません。デフォルトの 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 SecurityException
Handler を閉じて、関連するすべてのリソースを解放します。

close メソッドは flush を実行してから Handler を閉じます。Close が呼び出されたあとは、この Handler は使用されません。メソッドの呼び出しは何も行わずに無視されるか、実行時例外をスローします。

例外:
SecurityException - セキュリティマネージャが存在し、呼び出し元が LoggingPermission("control")) を持たない場合

setFormatter

public void setFormatter(Formatter newFormatter)
                  throws SecurityException
Formatter を設定します。この Formatter を使用して、この HandlerLogRecord をフォーマットします。

一部の HandlerFormatter を使用しません。その場合、Formatter は記憶されるだけで、使用されません。

パラメータ:
newFormatter - 使用する Formatter (null 以外)
例外:
SecurityException - セキュリティマネージャが存在し、呼び出し元が LoggingPermission("control")) を持たない場合

getFormatter

public Formatter getFormatter()
この HandlerFormatter を返します。

戻り値:
Formatter (null の場合がある)

setEncoding

public void setEncoding(String encoding)
                 throws SecurityException,
                        UnsupportedEncodingException
この Handler が使用する文字セットを設定します。

エンコーディングは、LogRecordHandler に書き込まれる前に設定する必要があります。

パラメータ:
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)
この HandlerErrorManager を定義します。

ErrorManager の error メソッドは、この Handler を使用中にエラーが発生した場合に呼び出されます。

パラメータ:
em - 新しい ErrorManager
例外:
SecurityException - セキュリティマネージャが存在し、呼び出し元が LoggingPermission("control")) を持たない場合

getErrorManager

public ErrorManager getErrorManager()
この HandlerErrorManager を取得します。

例外:
SecurityException - セキュリティマネージャが存在し、呼び出し元が LoggingPermission("control")) を持たない場合

reportError

protected void reportError(String msg,
                           Exception ex,
                           int code)
この HandlerErrorManager にエラーを通知する簡易 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 の条件を満たすかどうかを調べます。また、このメソッドは、ハンドラが LogRecord のログをとることを防止する、ほかの Handler 固有のチェックも行うことができます。LogRecord が Null の場合は、false を返します。

パラメータ:
record - LogRecord
戻り値:
LogRecord がログをとられる場合は true

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。