JavaTM 2 Platform
Standard Ed. 5.0

java.util.logging
クラス StreamHandler

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

public class StreamHandler
extends Handler

ストリームに基づくログ Handler です。

これは、主としてほかのログ Handlers の実装に使用される基底クラスまたはサポートクラスとして使用されます。

LogRecord は指定された java.io.OutputStream に通知されます。

構成: デフォルトで、各 StreamHandler は次に示す LogManager 構成プロパティを使用して初期化されます。プロパティが未定義の場合 (または無効な値を持つ場合)、指定されたデフォルトの値が使用されます。

導入されたバージョン:
1.4

コンストラクタの概要
StreamHandler()
          現在の出力ストリームを持たない StreamHandler を作成します。
StreamHandler(OutputStream out, Formatter formatter)
          指定された Formatter と出力ストリームを持つ StreamHandler を作成します。
 
メソッドの概要
 void close()
          現在の出力ストリームを閉じます。
 void flush()
          すべてのバッファされたメッセージをフラッシュします。
 boolean isLoggable(LogRecord record)
          この Handler が、指定された LogRecord のログを実際にとるかどうかを調べます。
 void publish(LogRecord record)
          LogRecord をフォーマットして発行します。
 void setEncoding(String encoding)
          この Handler が使用する文字セットを設定または変更します。
protected  void setOutputStream(OutputStream out)
          出力ストリームを変更します。
 
クラス java.util.logging.Handler から継承されたメソッド
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, reportError, setErrorManager, setFilter, setFormatter, setLevel
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

StreamHandler

public StreamHandler()
現在の出力ストリームを持たない StreamHandler を作成します。


StreamHandler

public StreamHandler(OutputStream out,
                     Formatter formatter)
指定された Formatter と出力ストリームを持つ StreamHandler を作成します。

パラメータ:
out - ターゲット出力ストリーム
formatter - 出力のフォーマットに使用される Formatter
メソッドの詳細

setOutputStream

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

現在の出力ストリームがある場合、Formatter の末尾の文字列が書き込まれ、ストリームはフラッシュされて閉じられます。次に、この出力ストリームは新しい出力ストリームに置き換えられます。

パラメータ:
out - 新しい出力ストリーム。null は不可
例外:
SecurityException - セキュリティマネージャが存在し、呼び出し元が LoggingPermission("control")) を持たない場合

setEncoding

public void setEncoding(String encoding)
                 throws SecurityException,
                        UnsupportedEncodingException
この Handler が使用する文字セットを設定または変更します。

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

オーバーライド:
クラス Handler 内の setEncoding
パラメータ:
encoding - サポートされる文字セットの名前。null の場合は、デフォルトプラットフォームのエンコーディングを示す
例外:
SecurityException - セキュリティマネージャが存在し、呼び出し元が LoggingPermission("control")) を持たない場合
UnsupportedEncodingException - 指定された文字セットがサポートされていない場合

publish

public void publish(LogRecord record)
LogRecord をフォーマットして発行します。

StreamHandler は、まず OutputStream があるかどうか、指定された LogRecord が少なくとも必要なログレベルを持っているかどうかを調べます。これらがない場合、何もせずに戻ります。これらがある場合、関連する任意の Filter を呼び出してレコードが通知できるかどうかを調べます。通知できる場合、Formatter を呼び出してレコードをフォーマットし、結果を現在の出力ストリームに書き込みます。

これが指定された OutputStream に書き込まれる最初の LogRecord の場合、LogRecord が書き込まれる前に Formatter の「先頭」の文字列が ストリームに書き込まれます。

定義:
クラス Handler 内の publish
パラメータ:
record - ログイベントの説明。null レコードは単に無視されるだけで、通知は行われない

isLoggable

public boolean isLoggable(LogRecord record)
この Handler が、指定された LogRecord のログを実際にとるかどうかを調べます。

このメソッドは LogRecord が適切なレベルを持ち、すべての Filter を満たすかどうかを調べます。また、出力ストリームがまだ割り当てられていないか、LogRecord が Null の場合は false を返します。

オーバーライド:
クラス Handler 内の isLoggable
パラメータ:
record - LogRecord
戻り値:
LogRecord がログをとられる場合は true

flush

public void flush()
すべてのバッファされたメッセージをフラッシュします。

定義:
クラス Handler 内の flush

close

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

出力ストリームが閉じられる前に、Formatter の「末尾」の文字列がストリームに書き込まれます。さらに、Formatter の「先頭」の文字列がまだストリームに書き込まれていない場合は、「末尾」の文字列の前に書き込まれます。

定義:
クラス Handler 内の close
例外:
SecurityException - セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合
SecurityException - セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。