- 直系の既知のサブクラス:
ConsoleHandler
,FileHandler
,SocketHandler
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
を作成します。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
で使用される文字エンコーディングを設定します。エンコーディングは、
LogRecords
がHandler
に書き込まれる前に設定する必要があります。- オーバーライド:
setEncoding
、クラスHandler
- パラメータ:
encoding
- サポートされる文字エンコーディングの名前。 nullも可能。これはデフォルトのプラットフォーム・エンコーディングを示す- 例外:
SecurityException
- セキュリティ・マネージャが存在し、コール元にLoggingPermission("control")
がない場合。UnsupportedEncodingException
- 指定された文字エンコーディングがサポートされていない場合。
-
publish
public void publish(LogRecord record) LogRecord
を書式設定して公開します。StreamHandler
は、最初にOutputStream
があるかどうか、および指定されたLogRecord
に少なくとも必要なログ・レベルがあるかどうかを確認します。 そうでない場合、これは何の通知もなく戻ります。 その場合、関連するFilter
をコールして、レコードを公開する必要があるかどうかを確認します。 その場合は、Formatter
をコールしてレコードをフォーマットし、結果を現在の出力ストリームに書き込みます。これが特定の
OutputStream
に書き込まれる最初のLogRecord
である場合、Formatter
の"ヘッド"文字列は、LogRecord
が書き込まれる前にストリームに書き込まれます。 -
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
の"tail"文字列は、クローズする前にストリームに書き込まれます。 また、Formatter
の"ヘッド"文字列がストリームにまだ書き込まれていない場合は、"tail"文字列の前に書き込まれます。- 定義:
close
、クラスHandler
- 例外:
SecurityException
- セキュリティ・マネージャが存在する場合で、呼出し元がLoggingPermission("control")を持っていない場合。
-