モジュール java.logging
パッケージ java.util.logging

クラスHandler

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プロパティを使用して、HandlerFilterFormatterおよびLevelのデフォルト値を設定します。 各具象Handlerクラスの特定のドキュメントを参照してください。

導入されたバージョン:
1.4
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    デフォルトのコンストラクタです。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    abstract void
    Handlerを閉じて、関連するすべてのリソースを解放します。
    abstract void
    バッファリングされた出力をフラッシュします。
    このHandlerの文字エンコーディングを返します。
    このHandlerのErrorManagerを取得します。
    このHandlerの現在のFilterを取得します。
    このHandlerFormatterを返します。
    このHandlerによってログに記録されるメッセージを指定するログ・レベルを取得します。
    boolean
    この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
    setFilter(Filter newFilter)
    Filterを設定して、このHandlerの出力を制御します。
    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.ALLFormatterなし、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 SecurityException
      Handlerを閉じて、関連するすべてのリソースを解放します。

      closeメソッドは、flushを実行し、Handlerを閉じます。 closeが呼び出されたあと、このHandlerは使用されなくなります。 メソッド呼出しを行った場合、その呼出しは何の通知もなく無視されるか、実行時例外がスローされます。

      例外:
      SecurityException - セキュリティ・マネージャが存在し、コール元にLoggingPermission("control")がない場合。
    • setFormatter

      public void setFormatter(Formatter newFormatter) throws SecurityException
      Formatterを設定します。 このFormatterは、このHandlerLogRecordsの書式設定に使用されます。

      Handlersの中には、Formattersを使用しないものがあります。その場合、Formatterは記憶されますが、使用されません。

      パラメータ:
      newFormatter - (nullにできません)を使用するFormatter
      例外:
      SecurityException - セキュリティ・マネージャが存在し、コール元にLoggingPermission("control")がない場合。
    • getFormatter

      public Formatter getFormatter()
      このHandlerFormatterを返します。
      戻り値:
      Formatter (nullの場合がある)。
    • setEncoding

      public void setEncoding(String encoding) throws SecurityException, UnsupportedEncodingException
      このHandlerで使用する文字エンコーディングを設定します。

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

      パラメータ:
      encoding - サポートされる文字エンコーディングの名前。 nullも可能。これはデフォルトのプラットフォーム・エンコーディングを示す
      例外:
      SecurityException - セキュリティ・マネージャが存在し、コール元にLoggingPermission("control")がない場合。
      UnsupportedEncodingException - 指定された文字エンコーディングがサポートされていない場合。
    • getEncoding

      public String getEncoding()
      このHandlerの文字エンコーディングを返します。
      戻り値:
      エンコーディング名。 nullも可能。これはデフォルトのエンコーディングを使用すべきであることを示す
    • setFilter

      public void setFilter(Filter newFilter) throws SecurityException
      Filterを設定して、このHandlerの出力を制御します。

      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によってログに記録されるメッセージ・レベルを指定するログ・レベルを設定します。 この値より小さいメッセージ・レベルは破棄されます。

      開発者は、voluminousロギングをオンにできますが、特定のHandlersに送信されるメッセージを制限することが目的です。

      パラメータ:
      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 (nullの場合がある)。
      戻り値:
      LogRecordがログに記録される場合はtrue。