- 直系の既知のサブクラス:
MemoryHandler
,StreamHandler
Handler
オブジェクトは、Logger
からログ・メッセージを取得し、それらをエクスポートします。 たとえば、このオブジェクトは、コンソールやファイルに書き込み、ネットワーク・ログ・サービスに送信し、OSログへの転送などを実行します。
Handler
は、setLevel(Level.OFF)
を実行して無効にでき、適切なレベルでsetLevel
を実行して再度有効にできます。
Handler
クラスは、通常、LogManager
プロパティを使用して、Handler
のFilter
、Formatter
およびLevel
のデフォルト値を設定します。 各具象Handler
クラスの特定のドキュメントを参照してください。
- 導入されたバージョン:
- 1.4
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明abstract void
close()
Handler
を閉じて、関連するすべてのリソースを解放します。abstract void
flush()
バッファリングされた出力をフラッシュします。このHandler
の文字エンコーディングを返します。このHandlerのErrorManagerを取得します。このHandler
の現在のFilter
を取得します。このHandler
のFormatter
を返します。getLevel()
このHandler
によってログに記録されるメッセージを指定するログ・レベルを取得します。boolean
isLoggable
(LogRecord record) このHandler
が特定のLogRecord
を実際にログに記録するかどうかを確認します。abstract void
LogRecord
を公開します。protected void
reportError
(String msg, Exception ex, int code) このHandlerのErrorManagerにエラーを通知する簡易protected簡易メソッドです。void
setEncoding
(String encoding) このHandler
で使用する文字エンコーディングを設定します。void
このHandlerのErrorManagerを定義します。void
Filter
を設定して、このHandler
の出力を制御します。void
setFormatter
(Formatter newFormatter) Formatter
を設定します。void
このHandler
によってログに記録されるメッセージ・レベルを指定するログ・レベルを設定します。
-
コンストラクタの詳細
-
Handler
protected Handler()デフォルトのコンストラクタです。 結果のHandler
のログ・レベルはLevel.ALL
、Formatter
なし、Filter
なしです。 デフォルトのErrorManager
インスタンスは、ErrorManager
としてインストールされます。
-
-
メソッドの詳細
-
publish
public abstract void publish(LogRecord record) LogRecord
を公開します。ロギング・リクエストは最初に
Logger
オブジェクトに行われ、LogRecord
を初期化し、ここに転送しました。Handler
は、必要に応じてメッセージを書式設定します。 フォーマット処理にはローカライズも含まれるべきです。- パラメータ:
record
- ログ・イベントの説明。 nullレコードは何の通知もなく無視され、発行されない
-
flush
public abstract void flush()バッファリングされた出力をフラッシュします。 -
close
public abstract void close() throws SecurityExceptionHandler
を閉じて、関連するすべてのリソースを解放します。closeメソッドは、
flush
を実行し、Handler
を閉じます。 closeが呼び出されたあと、このHandler
は使用されなくなります。 メソッド呼出しを行った場合、その呼出しは何の通知もなく無視されるか、実行時例外がスローされます。- 例外:
SecurityException
- セキュリティ・マネージャが存在し、コール元にLoggingPermission("control")
がない場合。
-
setFormatter
public void setFormatter(Formatter newFormatter) throws SecurityException Formatter
を設定します。 このFormatter
は、このHandler
のLogRecords
の書式設定に使用されます。Handlers
の中には、Formatters
を使用しないものがあります。その場合、Formatter
は記憶されますが、使用されません。- パラメータ:
newFormatter
- (nullにできません)を使用するFormatter
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、コール元にLoggingPermission("control")
がない場合。
-
getFormatter
public Formatter getFormatter()このHandler
のFormatter
を返します。- 戻り値:
Formatter
(nullの場合がある)。
-
setEncoding
public void setEncoding(String encoding) throws SecurityException, UnsupportedEncodingException このHandler
で使用する文字エンコーディングを設定します。エンコーディングは、
LogRecords
がHandler
に書き込まれる前に設定する必要があります。- パラメータ:
encoding
- サポートされる文字エンコーディングの名前。 nullも可能。これはデフォルトのプラットフォーム・エンコーディングを示す- 例外:
SecurityException
- セキュリティ・マネージャが存在し、コール元にLoggingPermission("control")
がない場合。UnsupportedEncodingException
- 指定された文字エンコーディングがサポートされていない場合。
-
getEncoding
public String getEncoding()このHandler
の文字エンコーディングを返します。- 戻り値:
- エンコーディング名。 nullも可能。これはデフォルトのエンコーディングを使用すべきであることを示す
-
setFilter
public void setFilter(Filter newFilter) throws SecurityException Filter
を設定して、このHandler
の出力を制御します。publish
の各コールについて、Handler
はこのFilter
(null以外の場合)をコールして、LogRecord
を公開または破棄する必要があるかどうかを確認します。- パラメータ:
newFilter
-Filter
オブジェクト(nullの場合がある)- 例外:
SecurityException
- セキュリティ・マネージャが存在し、コール元にLoggingPermission("control")
がない場合。
-
getFilter
public Filter getFilter()このHandler
の現在のFilter
を取得します。- 戻り値:
Filter
オブジェクト(nullの場合がある)
-
setErrorManager
public void setErrorManager(ErrorManager em) このHandlerのErrorManagerを定義します。ErrorManagerのerrorメソッドは、このHandlerを使用中にエラーが発生した場合に呼び出されます。
- パラメータ:
em
- 新しいErrorManager- 例外:
SecurityException
- セキュリティ・マネージャが存在し、コール元にLoggingPermission("control")
がない場合。
-
getErrorManager
public ErrorManager getErrorManager()このHandlerのErrorManagerを取得します。- 戻り値:
- このハンドラのErrorManager
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、コール元にLoggingPermission("control")
がない場合。
-
reportError
このHandlerのErrorManagerにエラーを通知する簡易protected簡易メソッドです。 このメソッドがセキュリティ・チェックを行わずにErrorManagerを取得および使用することに注意してください。 したがって、これは、呼出し元が特権を持たない可能性がある環境で使用できます。- パラメータ:
msg
- 記述文字列(nullの場合がある)ex
- 例外(nullの場合がある)code
- ErrorManagerで定義されたエラー・コード
-
setLevel
public void setLevel(Level newLevel) throws SecurityException このHandler
によってログに記録されるメッセージ・レベルを指定するログ・レベルを設定します。 この値より小さいメッセージ・レベルは破棄されます。開発者は、voluminousロギングをオンにできますが、特定の
Handlers
に送信されるメッセージを制限することが目的です。- パラメータ:
newLevel
- ログ・レベルの新しい値- 例外:
SecurityException
- セキュリティ・マネージャが存在し、コール元にLoggingPermission("control")
がない場合。
-
getLevel
public Level getLevel()このHandler
によってログに記録されるメッセージを指定するログ・レベルを取得します。 このレベルより小さいメッセージ・レベルは破棄されます。- 戻り値:
- ログをとるメッセージ・レベル
-
isLoggable
public boolean isLoggable(LogRecord record) このHandler
が特定のLogRecord
を実際にログに記録するかどうかを確認します。このメソッドは、
LogRecord
に適切なLevel
があるかどうか、およびFilter
を満たすかどうかをチェックします。 また、ハンドラがLogRecord
のロギングを妨げる可能性のあるその他のHandler
固有のチェックを行うこともできます。LogRecord
がnullの場合、falseが返されます。- パラメータ:
record
-LogRecord
(nullの場合がある)。- 戻り値:
LogRecord
がログに記録される場合はtrue。
-