クラスStreamHandler

java.lang.Object
java.util.logging.Handler
java.util.logging.StreamHandler
直系の既知のサブクラス:
ConsoleHandler, FileHandler, SocketHandler

public class StreamHandler extends Handler
ストリー ・ベースのロギングHandler

これは主に、他のロギングHandlersの実装に使用されるベース・クラスまたはサポート・クラスとして意図されています。

LogRecordsは、指定されたjava.io.OutputStreamに公開されます。

構成: デフォルトでは、各StreamHandlerは、次のLogManager構成プロパティを使用して初期化されます。<handler-name>は、ハンドラの完全修飾クラス名を示します。 プロパティが未定義である 合(または無効な値を持つ 合)、指定されたデフォルト値が使用されます。

  • <handler-name>.levelは、Handler (デフォルトはLevel.INFOです)のデフォルト・レベルを指定します。
  • <handler-name>.filterは、(デフォルトはFilterではありません)を使用するFilterクラスの名前を指定します。
  • <handler-name>.formatterは、(デフォルトはjava.util.logging.SimpleFormatterです)を使用するFormatterクラスの名前を指定します。
  • <handler-name>.encodingは使用する文字セット・エンコーディングの名前を指定します(デフォルトは、デフォルト・プラットフォー のエンコーディング)。

たとえば、StreamHandlerのプロパティは次のようになります。

  • java.util.logging.StreamHandler.level=INFO
  • java.util.logging.StreamHandler.formatter=java.util.logging.SimpleFormatter

カスタ ・ハンドラ(例: com.foo.MyHandler)の 合、プロパティは次のようになります。

  • com.foo.MyHandler.level=INFO
  • com.foo.MyHandler.formatter=java.util.logging.SimpleFormatter

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

    • StreamHandler

      public StreamHandler()
      現在の出力ストリー なしで、StreamHandlerを作成します。
    • StreamHandler

      public StreamHandler(OutputStream out, Formatter formatter)
      指定されたFormatterおよび出力ストリー でStreamHandlerを作成します。
      パラメータ:
      out - ターゲット出力ストリー 
      formatter - 出力のフォーマットに使用されるFormatter
  • メソッドの詳細

    • setOutputStream

      protected void setOutputStream(OutputStream out)
      出力ストリー を変更します。

      現在の出力ストリー がある 合、Formatterの末尾文字列が書き込まれ、ストリー がフラッシュされてクローズされます。 次に、その出力ストリー が新しい出力ストリー で置き換えられます。

      パラメータ:
      out - 新しい出力ストリー 。 nullは不可。
    • setEncoding

      public void setEncoding(String encoding) throws UnsupportedEncodingException
      (または変更)に、このHandlerで使用される文字エンコーディングを設定します。

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

      オーバーライド:
      setEncoding、クラスHandler
      パラメータ:
      encoding - サポートされる文字エンコーディングの名前。 nullも可能。これはデフォルトのプラットフォー ・エンコーディングを示す
      スロー:
      UnsupportedEncodingException - 指定された文字エンコーディングがサポートされていない 合。
    • publish

      public void publish(LogRecord record)
      LogRecordを書式設定して公開します。

      StreamHandlerは、最初にOutputStreamがあるかどうか、および指定されたLogRecordに少なくとも必要なログ・レベルがあるかどうかを確認します。 そうでない 合、これは何の通知もなく戻ります。 その 合、関連するFilterをコールして、レコードを公開する必要があるかどうかを確認します。 その 合は、Formatterをコールしてレコードをフォーマットし、結果を現在の出力ストリー に書き込みます。

      これが特定のOutputStreamに書き込まれる最初のLogRecordである 合、Formatterの"ヘッド"文字列は、LogRecordが書き込まれる前にストリー に書き込まれます。

      定義:
      publish、クラスHandler
      パラメータ:
      record - ログ・イベントの説明。 nullレコードは何の通知もなく無視され、発行されない
    • isLoggable

      public boolean isLoggable(LogRecord record)
      このHandlerが特定のLogRecordを実際にログに記録するかどうかを確認します。

      このメソッドは、LogRecordに適切なレベルがあるかどうか、およびFilterを満たすかどうかをチェックします。 これは、出力ストリー がま 割り当てられていないか、LogRecordがnullである 合も、falseを返します。

      オーバーライド:
      isLoggable、クラスHandler
      パラメータ:
      record - LogRecord (nullの 合がある)。
      戻り値:
      LogRecordがログに記録される 合はtrue。
    • flush

      public void flush()
      すべてのバッファされたメッセージをフラッシュします。
      定義:
      flush、クラスHandler
    • close

      public void close()
      現在の出力ストリー を閉じます。

      Formatterの"tail"文字列は、クローズする前にストリー に書き込まれます。 また、Formatterの"ヘッド"文字列がストリー にま 書き込まれていない 合は、"tail"文字列の前に書き込まれます。

      定義:
      close、クラスHandler