- 直系の既知のサブクラス:
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")を持っていない場合。
-