モジュール java.logging
パッケージ 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()
    このHandlerのErrorManagerを取得します。
    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)
    このHandlerのErrorManagerにエラーを通知する簡易protected簡易メソッドです。
    void setEncoding​(String encoding)
    このHandlerが使用する文字エンコーディングを設定します。
    void setErrorManager​(ErrorManager em)
    このHandlerのErrorManagerを定義します。
    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)
      この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を実際にロギングするかどうかを調べます。

      このメソッドは、LogRecordLevelが適切かどうか、およびそのレコードが任意のFilterを満足するかどうかをチェックします。 これは、場合によってはHandlerに固有のその他のチェックも行います。そしてその結果、ハンドラがLogRecordをロギングしない可能性があります。 LogRecordがnullの場合、これはfalseを返します。

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