モジュール 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。