public abstract class Handler extends Object
HandlerはsetLevel(Level.OFF)を実行して使用不可にし、setLevelを適切なレベルで実行して再度使用可能にすることができます。
通常、HandlerクラスはLogManagerプロパティを使用してHandlerのFilter、Formatter、およびLevelのデフォルト値を設定します。各具象Handlerクラスについては、それぞれのドキュメントを参照してください。
修飾子 | コンストラクタと説明 |
---|---|
protected |
Handler()
デフォルトのコンストラクタです。
|
修飾子と型 | メソッドと説明 |
---|---|
abstract void |
close()
Handlerを閉じて、関連するすべてのリソースを解放します。
|
abstract void |
flush()
バッファリングされた出力をフラッシュします。
|
String |
getEncoding()
このHandlerの文字エンコーディングを返します。
|
ErrorManager |
getErrorManager()
このHandlerのErrorManagerを取得します。
|
Filter |
getFilter()
このHandlerの現在のFilterを取得します。
|
Formatter |
getFormatter()
このHandlerのFormatterを返します。
|
Level |
getLevel()
このHandlerがどのメッセージをロギングするかを指定するログ・レベルを取得します。
|
boolean |
isLoggable(LogRecord record)
このHandlerが、指定されたLogRecordを実際にロギングするかどうかを調べます。
|
abstract void |
publish(LogRecord record)
LogRecordを発行します。
|
protected void |
reportError(String msg, Exception ex, int code)
このHandlerのErrorManagerにエラーを通知する簡易protected簡易メソッドです。
|
void |
setEncoding(String encoding)
このHandlerが使用する文字エンコーディングを設定します。
|
void |
setErrorManager(ErrorManager em)
このHandlerのErrorManagerを定義します。
|
void |
setFilter(Filter newFilter)
このHandlerの出力を制御するFilterを設定します。
|
void |
setFormatter(Formatter newFormatter)
Formatterを設定します。
|
void |
setLevel(Level newLevel)
このHandlerがどのメッセージ・レベルをロギングするかを指定するログ・レベルを設定します。
|
protected Handler()
public abstract void publish(LogRecord record)
初期状態では、ロギングの要求はLoggerオブジェクトに対して行われ、このオブジェクトはLogRecordを初期化してここに転送しました。
Handlerは、必要に応じてメッセージをフォーマットする役割を担います。フォーマット処理にはローカライズも含まれるべきです。
record
- ログ・イベントの説明。nullレコードは何の通知もなく無視され、発行されないpublic abstract void flush()
public abstract void close() throws SecurityException
closeメソッドは、flushを実行したあとでHandlerを閉じます。closeの呼出し後にこのHandlerを使用しないようにしてください。メソッド呼出しを行った場合、その呼出しは何の通知もなく無視されるか、実行時例外がスローされます。
SecurityException
- セキュリティ・マネージャが存在する場合で、呼出し元がLoggingPermission("control")を持っていない場合。public void setFormatter(Formatter newFormatter) throws SecurityException
一部のHandlerはFormatterを使用しません。その場合、Formatterは記憶されるだけで、使用されません。
newFormatter
- 使用するFormatter (null以外)SecurityException
- セキュリティ・マネージャが存在する場合で、呼出し元がLoggingPermission("control")を持っていない場合。public Formatter getFormatter()
public void setEncoding(String encoding) throws SecurityException, UnsupportedEncodingException
エンコーディングは、LogRecordがHandlerに書き込まれる前に設定してください。
encoding
- サポートされる文字エンコーディングの名前。nullも可能。これはデフォルトのプラットフォーム・エンコーディングを示すSecurityException
- セキュリティ・マネージャが存在する場合で、呼出し元がLoggingPermission("control")を持っていない場合。UnsupportedEncodingException
- 指定された文字エンコーディングがサポートされていない場合。public String getEncoding()
public void setFilter(Filter newFilter) throws SecurityException
publishの呼び出しごとに、HandlerはこのFilter (nullでない場合)を呼び出してLogRecordが通知されたか、または破棄されたかを調べます。
newFilter
- Filterオブジェクト(nullの場合がある)SecurityException
- セキュリティ・マネージャが存在する場合で、呼出し元がLoggingPermission("control")を持っていない場合。public Filter getFilter()
public void setErrorManager(ErrorManager em)
ErrorManagerのerrorメソッドは、このHandlerを使用中にエラーが発生した場合に呼び出されます。
em
- 新しいErrorManagerSecurityException
- セキュリティ・マネージャが存在する場合で、呼出し元がLoggingPermission("control")を持っていない場合。public ErrorManager getErrorManager()
SecurityException
- セキュリティ・マネージャが存在する場合で、呼出し元がLoggingPermission("control")を持っていない場合。protected void reportError(String msg, Exception ex, int code)
msg
- 記述文字列(nullの場合がある)ex
- 例外(nullの場合がある)code
- ErrorManagerで定義されたエラー・コードpublic void setLevel(Level newLevel) throws SecurityException
これは、開発者が多量のロギングをオンに設定することができるようにする一方で、特定のHandlerへ送信されるメッセージを制限できるようにするためのものです。
newLevel
- ログ・レベルの新しい値SecurityException
- セキュリティ・マネージャが存在する場合で、呼出し元がLoggingPermission("control")を持っていない場合。public Level getLevel()
public boolean isLoggable(LogRecord record)
このメソッドは、LogRecordのLevelが適切かどうか、およびそのレコードが任意のFilterを満足するかどうかをチェックします。これは、場合によってはHandlerに固有のその他のチェックも行います。そしてその結果、ハンドラがLogRecordをロギングしない可能性があります。LogRecordがnullの場合、これはfalseを返します。
record
- LogRecord バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.