- java.lang.Object
-
- java.util.logging.Handler
-
- java.util.logging.StreamHandler
-
- 直系の既知のサブクラス:
ConsoleHandler
,FileHandler
,SocketHandler
public class StreamHandler extends Handler
ストリームに基づくログ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
を作成します。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
-
-
-
-
コンストラクタの詳細
-
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
- 戻り値:
LogRecord
がログをとられる場合はtrue。
-
close
public void close() throws SecurityException
現在の出力ストリームを閉じます。ストリームが閉じられる前に、
Formatter
の「末尾」文字列がストリームに書き込まれます。 さらに、Formatter
の「先頭」文字列がストリームにまだ書き込まれていない場合は、それが「末尾」文字列の前に書き込まれます。- 定義:
close
、クラスHandler
- 例外:
SecurityException
- セキュリティ・マネージャが存在する場合で、呼出し元がLoggingPermission("control")を持っていない場合。
-
-