- 直系の既知のサブクラス:
ConsoleHandler
,FileHandler
,SocketHandler
Handler
です。
これは、主としてほかのログHandler
の実装に使用される基底クラスまたはサポート・クラスとして使用されます。
LogRecord
は指定されたjava.io.OutputStream
に通知されます。
構成: デフォルトで各StreamHandler
は次のLogManager
構成プロパティを使用して初期化されます。ここで<handler-name>
はハンドラの完全修飾クラス名を示します。 プロパティが未定義である場合(または無効な値を持つ場合)、指定されたデフォルト値が使用されます。
- <handler-name>.levelは
Handler
のデフォルト・レベルを指定します(デフォルトはLevel.INFO
)。 - <handler-name>.filterは使用する
Filter
クラスの名前を指定します(デフォルトはFilter
なし)。 - <handler-name>.formatterは使用する
Formatter
クラスの名前を指定します(デフォルトはjava.util.logging.SimpleFormatter
)。 - <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
を作成します。StreamHandler
(OutputStream out, Formatter formatter) 指定されたFormatter
と出力ストリームを持つStreamHandler
を作成します。 -
メソッドのサマリー
修飾子と型メソッド説明void
close()
現在の出力ストリームを閉じます。void
flush()
すべてのバッファされたメッセージをフラッシュします。boolean
isLoggable
(LogRecord record) このHandler
が、指定されたLogRecord
を実際にロギングするかどうかを調べます。void
LogRecord
をフォーマットして発行します。void
setEncoding
(String encoding) このHandler
が使用する文字エンコーディングを設定または変更します。protected void
出力ストリームを変更します。クラス java.util.logging.Handlerで宣言されたメソッド
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, reportError, setErrorManager, setFilter, setFormatter, setLevel
-
コンストラクタの詳細
-
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
が使用する文字エンコーディングを設定または変更します。エンコーディングは、
LogRecord
がHandler
に書き込まれる前に設定してください。- オーバーライド:
setEncoding
、クラスHandler
- パラメータ:
encoding
- サポートされる文字エンコーディングの名前。 nullも可能。これはデフォルトのプラットフォーム・エンコーディングを示す- 例外:
SecurityException
- セキュリティ・マネージャが存在する場合で、呼出し元がLoggingPermission("control")
を持っていない場合。UnsupportedEncodingException
- 指定された文字エンコーディングがサポートされていない場合。
-
publish
public void publish(LogRecord record) LogRecord
をフォーマットして発行します。StreamHandler
はまず、OutputStream
が存在するかどうかと、指定されたLogRecord
のレベルが要求されるログ・レベル以上かどうかをチェックします。 そうでない場合、これは何の通知もなく戻ります。 そうである場合、これは、関連付けられた任意のFilter
を呼び出すことで、そのレコードを発行すべきかどうかをチェックします。 そうである場合、Formatter
を呼び出してレコードをフォーマットし、結果を現在の出力ストリームに書き込みます。これが指定された
OutputStream
に書き込まれる最初のLogRecord
の場合、LogRecord
が書き込まれる前にFormatter
の「先頭」の文字列がストリームに書き込まれます。 -
isLoggable
public boolean isLoggable(LogRecord record) このHandler
が、指定されたLogRecord
を実際にロギングするかどうかを調べます。このメソッドは、
LogRecord
のレベルが適切かどうか、およびそのレコードが任意のFilter
を満足するかどうかをチェックします。 これは、出力ストリームがまだ割り当てられていないか、LogRecordがnullである場合も、falseを返します。- オーバーライド:
isLoggable
、クラスHandler
- パラメータ:
record
-LogRecord
(nullの場合がある)。- 戻り値:
LogRecord
がログをとられる場合はtrue。
-
flush
public void flush()すべてのバッファされたメッセージをフラッシュします。 -
close
public void close() throws SecurityException現在の出力ストリームを閉じます。ストリームが閉じられる前に、
Formatter
の「末尾」文字列がストリームに書き込まれます。 さらに、Formatter
の「先頭」文字列がストリームにまだ書き込まれていない場合は、それが「末尾」文字列の前に書き込まれます。- 定義:
close
、クラスHandler
- 例外:
SecurityException
- セキュリティ・マネージャが存在する場合で、呼出し元がLoggingPermission("control")を持っていない場合。
-