- java.lang.Object
-
- java.util.logging.Handler
-
- 直系の既知のサブクラス:
MemoryHandler,StreamHandler
public abstract class Handler extends Object
Handlerオブジェクトは、Loggerからログ・メッセージを受け取り、それらをエクスポートします。 たとえば、このオブジェクトは、コンソールやファイルに書き込み、ネットワーク・ログ・サービスに送信し、OSログへの転送などを実行します。HandlerはsetLevel(Level.OFF)を実行して使用不可にし、setLevelを適切なレベルで実行して再度使用可能にすることができます。通常、
HandlerクラスはLogManagerプロパティを使用してHandlerのFilter、Formatter、およびLevelのデフォルト値を設定します。 各具象Handlerクラスについては、それぞれのドキュメントを参照してください。- 導入されたバージョン:
- 1.4
-
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protectedHandler()デフォルトのコンストラクタです。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 abstract voidclose()Handlerを閉じて、関連するすべてのリソースを解放します。abstract voidflush()バッファリングされた出力をフラッシュします。StringgetEncoding()このHandlerの文字エンコーディングを返します。ErrorManagergetErrorManager()このHandlerのErrorManagerを取得します。FiltergetFilter()このHandlerの現在のFilterを取得します。FormattergetFormatter()このHandlerのFormatterを返します。LevelgetLevel()このHandlerがどのメッセージをロギングするかを指定するログ・レベルを取得します。booleanisLoggable(LogRecord record)このHandlerが、指定されたLogRecordを実際にロギングするかどうかを調べます。abstract voidpublish(LogRecord record)LogRecordを発行します。protected voidreportError(String msg, Exception ex, int code)このHandlerのErrorManagerにエラーを通知する簡易protected簡易メソッドです。voidsetEncoding(String encoding)このHandlerが使用する文字エンコーディングを設定します。voidsetErrorManager(ErrorManager em)このHandlerのErrorManagerを定義します。voidsetFilter(Filter newFilter)このHandlerの出力を制御するFilterを設定します。voidsetFormatter(Formatter newFormatter)Formatterを設定します。voidsetLevel(Level newLevel)このHandlerがどのメッセージ・レベルをロギングするかを指定するログ・レベルを設定します。
-
-
-
メソッドの詳細
-
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 SecurityException
Formatterを設定します。 この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
protected void reportError(String msg, Exception ex, int code)
この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- 戻り値:
LogRecordがログをとられる場合はtrue。
-
-