public class StreamHandler extends Handler
これは、主としてほかのログ Handler の実装に使用される基底クラスまたはサポートクラスとして使用されます。
LogRecord は指定された java.io.OutputStream に通知されます。
構成: 各 StreamHandler はデフォルトで、次の LogManager 構成プロパティーを使って初期化されます。プロパティーが未定義である場合 (または無効な値を持つ場合)、指定されたデフォルト値が使用されます。
コンストラクタと説明 |
---|
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)
出力ストリームを変更します。
|
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, reportError, setErrorManager, setFilter, setFormatter, setLevel
public StreamHandler()
public StreamHandler(OutputStream out, Formatter formatter)
out
- ターゲット出力ストリームformatter
- 出力のフォーマットに使用される Formatterprotected void setOutputStream(OutputStream out) throws SecurityException
現在の出力ストリームが存在する場合、Formatter の末尾文字列が書き込まれ、ストリームがフラッシュおよびクローズされます。次に、その出力ストリームが新しい出力ストリームで置き換えられます。
out
- 新しい出力ストリーム。null は不可SecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持っていない場合。public void setEncoding(String encoding) throws SecurityException, UnsupportedEncodingException
エンコーディングは、LogRecord が Handler に書き込まれる前に設定してください。
setEncoding
、クラス: Handler
encoding
- サポートされる文字エンコーディングの名前。null も可能。これはデフォルトのプラットフォームエンコーディングを示すSecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持っていない場合。UnsupportedEncodingException
- 指定された文字エンコーディングがサポートされていない場合。public void publish(LogRecord record)
StreamHandler はまず、OutputStream が存在するかどうかと、指定された LogRecord のレベルが要求されるログレベル以上かどうかをチェックします。そうでない場合、これは何の通知もなく戻ります。そうである場合、これは、関連付けられた任意の Filter を呼び出すことで、そのレコードを発行すべきかどうかをチェックします。そうである場合、Formatter を呼び出してレコードをフォーマットし、結果を現在の出力ストリームに書き込みます。
これが指定された OutputStream に書き込まれる最初の LogRecord の場合、LogRecord が書き込まれる前に Formatter の「先頭」の文字列がストリームに書き込まれます。
public boolean isLoggable(LogRecord record)
このメソッドは、LogRecord のレベルが適切かどうか、およびそのレコードが任意の Filter を満足するかどうかをチェックします。これは、出力ストリームがまだ割り当てられていないか、LogRecord が null である場合も、false を返します。
isLoggable
、クラス: Handler
record
- LogRecordpublic void close() throws SecurityException
ストリームが閉じられる前に、Formatter の「末尾」文字列がストリームに書き込まれます。さらに、Formatter の「先頭」文字列がストリームにまだ書き込まれていない場合は、それが「末尾」文字列の前に書き込まれます。
close
、クラス: Handler
SecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持っていない場合。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.