|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.logging.Logger
public class Logger
Logger オブジェクトは、特定のシステムコンポーネントやアプリケーションコンポーネントのメッセージをロギングするために使用されます。ロガーの命名は通常、ドットで区切られた階層化された名前空間を使って行われます。ロガーの名前はどのような文字列でもかまいませんが、通常は、java.net や javax.swing など、ロギング対象のコンポーネントのパッケージ名やクラス名に基づいた名前にすべきです。さらに、Logger の名前空間に格納されない「匿名」の Logger を作成することも可能となっています。
Logger オブジェクトを取得するには、getLogger ファクトリメソッドのいずれかを呼び出します。これらは、新しい Logger を作成するか、既存の適した Logger を返します。
ログメッセージは登録された Handler オブジェクトに転送されます。このオブジェクトは、コンソール、ファイル、OS ログなどさまざまな出力先にメッセージを転送できます。
各 Logger は、Logger の名前空間にある既存の上位クラスにもっとも近い「親」Logger を追跡します。
各 Logger には「Level」が関連付けられます。これは、このロガーの処理対象となる最小の Level を表します。Logger のレベルが null に設定された場合、その実効レベルはその親から継承されます。そして、その親もまたその親から、再帰的にレベルを取得する可能性があります。同様のことがツリーの上方に向けて繰り返されます。
ログレベルは、LogManager クラスで説明しているように、ロギング構成ファイルのプロパティーに基づいて構成できます。ただしそれは、Logger.setLevel メソッドを呼び出して動的に変更することもできます。あるロガーのレベルが変更された場合、その変更はその子のロガーにも影響を与えます。なぜなら、レベル null を持つ子ロガーはすべて、その親から実効レベルを継承するからです。
ロギング呼び出しが行われるたびに、Logger はまず、そのロガーの実効ログレベルに基づく要求レベル (SEVERE や FINE など) の低コストなチェックを実行します。要求レベルがログレベルよりも低い場合、ロギング呼び出しはすぐに復帰します。
この初期テスト (低コストのテスト) にパスすると、Logger は、LogRecord を割り当ててロギングメッセージを記述します。次に、それは、Filter が存在する場合にはそれを呼び出し、そのレコードを発行すべきかどうかについて、より詳しいチェックを行います。それにパスした場合、それは、その LogRecord を自身の出力 Handler に発行します。デフォルトでは、ロガーは親の Handler にも発行します。これが、ツリーの上方に向けて再帰的に繰り返されます。
各 Logger には、関連付けられた ResourceBundle 名があります。この指定されたバンドルは、ロギングメッセージをローカライズするために使用されます。独自の ResourceBundle 名を持たない Logger は、ResourceBundle 名を親から継承します。これが、ツリーの上方に向けて再帰的に繰り返されます。
ロガーの出力メソッドのほとんどは、「msg」引数を取ります。この msg 引数には、生の値、ローカリゼーションキーのいずれかを指定できます。ロガーがローカリゼーション ResourceBundle を所有 (または継承) していて、その ResourceBundle に msg 文字列のマッピングが含まれている場合、フォーマット処理時に msg 文字列がローカライズされた値で置換されます。それ以外の場合は、元の msg 文字列が使用されます。フォーマッタは通常、java.text.MessageFormat スタイルのフォーマットを使ってパラメータのフォーマット処理を行います。このため、たとえば、フォーマット文字列「{0} {1}」は、2 つのパラメータを文字列としてフォーマットします。
ResourceBundle 名を ResourceBundle にマッピングする際、Logger はまず、Thread の ContextClassLoader の使用を試みますそれが null の場合、それは代わりに SystemClassLoader を試みます。ContextClassLoader、SystemClassLoader のいずれからも ResourceBundle が見つからない場合、Logger は、初期実装の一時的な移行用機能としてさらに呼び出しスタックを検索し、連続して呼び出しを行っている ClassLoader を使って ResourceBundle を検索を試みます。(この呼び出しスタック検索は、コンテナが ContextClassLoader を使用する方法に移行できるようにするためのものであり、将来のバージョンでは削除される可能性がある。)
ローカリゼーションを含むフォーマット処理は、通常 Formatter を呼び出す出力 Handler を担当します。
フォーマット処理は同期的に行う必要がないことに注意してください。それは、LogRecord が外部シンクに実際に書き込まれるまで遅延できます。
ロギングメソッドは、次の 5 つの主なカテゴリに分類されます。
ログレベル、メッセージ文字列、およびそのメッセージ文字列への任意のパラメータを取得する log メソッドのセット
log メソッドに類似するが、明示的なソースクラス名とメソッド名も取得する logp メソッドのセット (logp は「log precise」の略)
logp メソッドに類似するが、ログメッセージの地域化に使用する明示的なリソースバンドル名も取得する logrb メソッドのセット (logrb は「log with resource bundle」の略)
メソッドのエントリ (entering メソッド)、メソッドの復帰 (exiting メソッド)、および例外のスロー (throwing メソッド) を追跡するための簡易メソッド
最後に、開発者がただ単純な文字列を特定のログレベルでロギングする、といった非常に単純な場合に使用するための、一連の簡易メソッドが存在する。これらのメソッドは、「severe」、「warning」、「info」など、標準の Level 名にちなんだ名前を持ち、メッセージ文字列を単一の引数として取る。
明示的なソース名とメソッド名を取らないメソッドの場合、Logging フレームワークは「最善の努力」を払って、どのクラスとメソッドがそのロギングメソッドを呼び出したのかを判定します。ただし、自動的に推測されたこの情報は概略に過ぎない (それどころか完全な間違いである可能性さえある) ことを理解しておく必要があります。仮想マシンは、JIT 処理の際に大規模な最適化を行うことが許されており、スタックフレームをすべて削除する可能性があるため、呼び出しクラスとメソッドを確実に検出することは不可能となっています。
Logger のすべてのメソッドは、マルチスレッドセーフです。
サブクラス化に関する情報: LogManager クラスが名前付き Logger の独自実装を名前空間内の任意の位置に提供する可能性があることに注意してください。したがって、Logger のすべてのサブクラスは、(それらが別の新しい LogManager クラスとともに実装されたのでないかぎり)、忘れずに LogManager クラスから Logger インスタンスを取得し、そのインスタンスに「isLoggable」や「log(LogRecord)」などのオペレーションを委譲すべきです。すべてのロギング出力を横取りするためにサブクラスが行う必要があるのは、log(LogRecord) メソッドのオーバーライドだけであることに注意してください。ほかのロギングメソッドはすべて、この log(LogRecord) メソッドへの呼び出しとして実装されています。
フィールドの概要 | |
---|---|
static Logger |
global
推奨されていません。 このフィールドの初期化時にデッドロックが発生する可能性があります。このフィールドは Logger クラス初期化によって初期化されますが、それにより、LogManager クラス初期化との間でデッドロックが発生する可能性があります。そのような場合、2 つのクラス初期化は他方が完了するまで待機します。JDK version 1.6 以降でグローバルロガーオブジェクトを取得するための推奨の方法は、 Logger.getLogger(Logger.GLOBAL_LOGGER_NAME) を呼び出すことです。 |
static String |
GLOBAL_LOGGER_NAME
GLOBAL_LOGGER_NAME は、グローバルロガーの名前です。 |
コンストラクタの概要 | |
---|---|
protected |
Logger(String name,
String resourceBundleName)
名前付きサブシステムのロガーを構築する protected メソッドです。 |
メソッドの概要 | |
---|---|
void |
addHandler(Handler handler)
ログ Handler を追加してログメッセージを受け取ります。 |
void |
config(String msg)
CONFIG メッセージのログをとります。 |
void |
entering(String sourceClass,
String sourceMethod)
メソッドエントリのログをとります。 |
void |
entering(String sourceClass,
String sourceMethod,
Object param1)
1 つのパラメータを持つメソッドエントリのログをとります。 |
void |
entering(String sourceClass,
String sourceMethod,
Object[] params)
パラメータの配列を持つメソッドエントリのログをとります。 |
void |
exiting(String sourceClass,
String sourceMethod)
メソッド復帰のログをとります。 |
void |
exiting(String sourceClass,
String sourceMethod,
Object result)
結果オブジェクトを持つメソッド復帰のログをとります。 |
void |
fine(String msg)
FINE メッセージのログをとります。 |
void |
finer(String msg)
FINER メッセージのログをとります。 |
void |
finest(String msg)
FINEST メッセージのログをとります。 |
static Logger |
getAnonymousLogger()
匿名 Logger を作成します。 |
static Logger |
getAnonymousLogger(String resourceBundleName)
匿名 Logger を作成します。 |
Filter |
getFilter()
この Logger の現在のフィルタを返します。 |
Handler[] |
getHandlers()
このロガーに関連した Handler を返します。 |
Level |
getLevel()
この Logger に指定されたログ Level を取得します。 |
static Logger |
getLogger(String name)
指定されたサブシステムのロガーを検出または作成します。 |
static Logger |
getLogger(String name,
String resourceBundleName)
指定されたサブシステムのロガーを検出または作成します。 |
String |
getName()
このロガーの名前を返します。 |
Logger |
getParent()
このロガーの親を返します。 |
ResourceBundle |
getResourceBundle()
現在のデフォルトロケールに対するこのロガーのローカリゼーションリソースバンドルを取得します。 |
String |
getResourceBundleName()
このロガーのローカリゼーションリソースバンドルの名前を取得します。 |
boolean |
getUseParentHandlers()
このロガーが出力をその親ロガーに送信しているかどうかを検出します。 |
void |
info(String msg)
INFO メッセージのログをとります。 |
boolean |
isLoggable(Level level)
指定されたレベルのメッセージがこのロガーによって実際にロギングされるかどうかをチェックします。 |
void |
log(Level level,
String msg)
引数のないメッセージのログをとります。 |
void |
log(Level level,
String msg,
Object param1)
1 つのオブジェクトのパラメータを持つメッセージのログをとります。 |
void |
log(Level level,
String msg,
Object[] params)
オブジェクトの引数の配列を持つメッセージのログをとります。 |
void |
log(Level level,
String msg,
Throwable thrown)
関連する Throwable 情報を持つメッセージのログをとります。 |
void |
log(LogRecord record)
LogRecord のログをとります。 |
void |
logp(Level level,
String sourceClass,
String sourceMethod,
String msg)
ソースクラスとメソッドを指定する、引数のないメッセージのログをとります。 |
void |
logp(Level level,
String sourceClass,
String sourceMethod,
String msg,
Object param1)
ソースクラスとメソッドを指定し、ログメッセージに対して単一のオブジェクトパラメータを持つメッセージのログをとります。 |
void |
logp(Level level,
String sourceClass,
String sourceMethod,
String msg,
Object[] params)
ソースクラスとメソッドを指定する、オブジェクトの引数の配列を持つメッセージのログをとります。 |
void |
logp(Level level,
String sourceClass,
String sourceMethod,
String msg,
Throwable thrown)
ソースクラスとメソッドを指定し、関連する Throwable 情報を持つメッセージのログをとります。 |
void |
logrb(Level level,
String sourceClass,
String sourceMethod,
String bundleName,
String msg)
ソースクラス、メソッド、およびリソースバンドル名を指定し、引数のないメッセージのログをとります。 |
void |
logrb(Level level,
String sourceClass,
String sourceMethod,
String bundleName,
String msg,
Object param1)
ソースクラス、メソッド、およびリソースバンドル名を指定し、ログメッセージに対して単一のオブジェクトパラメータを持つメッセージのログをとります。 |
void |
logrb(Level level,
String sourceClass,
String sourceMethod,
String bundleName,
String msg,
Object[] params)
ソースクラス、メソッド、およびリソースバンドル名を指定し、オブジェクトの引数の配列を持つメッセージのログをとります。 |
void |
logrb(Level level,
String sourceClass,
String sourceMethod,
String bundleName,
String msg,
Throwable thrown)
ソースクラス、メソッド、およびリソースバンドル名を指定し、関連する Throwable 情報を持つメッセージのログをとります。 |
void |
removeHandler(Handler handler)
ログ Handler を削除します。 |
void |
setFilter(Filter newFilter)
フィルタを設定してこの Logger の出力を制御します。 |
void |
setLevel(Level newLevel)
このロガーがどのメッセージレベルをロギングするかを指定するログレベルを設定します。 |
void |
setParent(Logger parent)
このロガーの親を設定します。 |
void |
setUseParentHandlers(boolean useParentHandlers)
このロガーが出力をその親ロガーに送信すべきかどうかを指定します。 |
void |
severe(String msg)
SEVERE メッセージのログをとります。 |
void |
throwing(String sourceClass,
String sourceMethod,
Throwable thrown)
例外をスローするログをとります。 |
void |
warning(String msg)
WARNING メッセージのログをとります。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
public static final String GLOBAL_LOGGER_NAME
グローバルロガーオブジェクトを取得するための推奨の方法は、Logger.getLogger(Logger.GLOBAL_LOGGER_NAME)
を呼び出すことです。
@Deprecated public static final Logger global
Logger.getLogger(Logger.GLOBAL_LOGGER_NAME)
を呼び出すことです。
コンストラクタの詳細 |
---|
protected Logger(String name, String resourceBundleName)
当初、ロガーは Level が null、useParentHandlers が true で構成されます。
name
- ロガーの名前。これはドットで区切られた名前にすべきであり、通常は java.net や javax.swing など、サブシステムのパッケージ名またはクラス名に基づいた名前にすべきである。匿名 Logger の場合は null も可能resourceBundleName
- このロガーのメッセージのローカライズに使用される ResourceBundle の名前。ローカリゼーションを必要とするメッセージが存在しない場合は null も可能
MissingResourceException
- ResourceBundleName が null 以外であり、それに対応するリソースが見つからない場合メソッドの詳細 |
---|
public static Logger getLogger(String name)
新しいロガーが作成される場合、そのログレベルは LogManager の構成に基づいて設定され、またそのログ出力を親のハンドラに送信するように設定されます。これは LogManager のグローバル名前空間に登録されます。
name
- ロガーの名前。これはドットで区切られた名前にすべきであり、通常は java.net や javax.swing など、サブシステムのパッケージ名またはクラス名に基づいた名前にすべきである
NullPointerException
- 名前が null の場合public static Logger getLogger(String name, String resourceBundleName)
新しいロガーが作成される場合、そのログレベルは LogManager の構成に基づいて設定され、またそのログ出力を親のロガー Handler に送信するように設定されます。これは LogManager のグローバル名前空間に登録されます。
指定された Logger がすでに存在しており、それがローカリゼーションリソースバンドルをまだ持っていない場合は、指定されたリソースバンドル名が使用されます。指定された Logger がすでに存在しており、それが異なるリソースバンドル名を持っている場合は、IllegalArgumentException がスローされます。
name
- ロガーの名前。これはドットで区切られた名前にすべきであり、通常は java.net や javax.swing など、サブシステムのパッケージ名またはクラス名に基づいた名前にすべきであるresourceBundleName
- このロガーのメッセージのローカライズに使用される ResourceBundle の名前。ローカリゼーションを必要とするメッセージが存在しない場合は null
も可能
MissingResourceException
- 名前付き ResourceBundle が見つからない場合
IllegalArgumentException
- Logger がすでに存在しており、それが異なるリソースバンドル名を使用している場合
NullPointerException
- 名前が null の場合public static Logger getAnonymousLogger()
このファクトリメソッドの主な目的は、アプレットからの使用です。結果として得られる Logger は匿名であるため、作成元のクラスによって非公開の状態に保たれます。これにより、通常のセキュリティーチェックを行う必要がなくなり、信頼できないアプレットコードが Logger の制御状態を更新できるようになります。たとえば、アプレットは、匿名の Logger 上で setLevel や addHandler を実行できます。
新しいロガーは、匿名ではありますが、ルートロガー (「」) を親に持つように構成されます。これは、そのロガーがデフォルトで、実効レベルとハンドラをルートロガーから継承することを意味します。
public static Logger getAnonymousLogger(String resourceBundleName)
このファクトリメソッドの主な目的は、アプレットからの使用です。結果として得られる Logger は匿名であるため、作成元のクラスによって非公開の状態に保たれます。これにより、通常のセキュリティーチェックを行う必要がなくなり、信頼できないアプレットコードが Logger の制御状態を更新できるようになります。たとえば、アプレットは、匿名の Logger 上で setLevel や addHandler を実行できます。
新しいロガーは、匿名ではありますが、ルートロガー (「」) を親に持つように構成されます。これは、そのロガーがデフォルトで、実効レベルとハンドラをルートロガーから継承することを意味します。
resourceBundleName
- このロガーのメッセージのローカライズに使用される ResourceBundle の名前。ローカリゼーションを必要とするメッセージが存在しない場合は null も可能
MissingResourceException
- 名前付き ResourceBundle が見つからない場合public ResourceBundle getResourceBundle()
public String getResourceBundleName()
public void setFilter(Filter newFilter) throws SecurityException
初期の「レベル」検査に合格すると、Logger はこの Filter を呼び出してログレコードが実際に通知されるかどうかを調べます。
newFilter
- フィルタオブジェクト (null の場合がある)
SecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合public Filter getFilter()
public void log(LogRecord record)
このクラス内のその他のロギングメソッドはすべて、このメソッドを呼び出すことで、実際のあらゆるロギングを実行します。サブクラスは、このメソッドをオーバーライドするだけで、すべてのログ活動を捕捉できます。
record
- 通知される LogRecordpublic void log(Level level, String msg)
指定されたメッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。
level
- メッセージレベル識別子の 1 つ。たとえば、SEVEREmsg
- 文字列メッセージ、またはメッセージカタログのキーpublic void log(Level level, String msg, Object param1)
指定されたメッセージレベルで現在ロガーが使用可能な場合、対応する LogRecord が作成され、登録されたすべての出力 Handler オブジェクトに転送されます。
level
- メッセージレベル識別子の 1 つ。たとえば、SEVEREmsg
- 文字列メッセージ、またはメッセージカタログのキーparam1
- メッセージのパラメータpublic void log(Level level, String msg, Object[] params)
指定されたメッセージレベルで現在ロガーが使用可能な場合、対応する LogRecord が作成され、登録されたすべての出力 Handler オブジェクトに転送されます。
level
- メッセージレベル識別子の 1 つ。たとえば、SEVEREmsg
- 文字列メッセージ、またはメッセージカタログのキーparams
- メッセージのパラメータの配列public void log(Level level, String msg, Throwable thrown)
指定されたメッセージレベルで現在ロガーが使用可能な場合、指定された引数が、登録されたすべての出力ハンドラに転送された LogRecord に格納されます。
thrown 引数は、LogRecord の parameters プロパティーにではなく、LogRecord の thrown プロパティーに格納されることに注意してください。このため、それは出力 Formatter によって特別な方法で処理されます。LogRecord の message プロパティーに対するフォーマット処理パラメータとはみなされません。
level
- メッセージレベル識別子の 1 つ。たとえば、SEVEREmsg
- 文字列メッセージ、またはメッセージカタログのキーthrown
- ログメッセージに関連した Throwablepublic void logp(Level level, String sourceClass, String sourceMethod, String msg)
指定されたメッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。
level
- メッセージレベル識別子の 1 つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名msg
- 文字列メッセージ、またはメッセージカタログのキーpublic void logp(Level level, String sourceClass, String sourceMethod, String msg, Object param1)
指定されたメッセージレベルで現在ロガーが使用可能な場合、対応する LogRecord が作成され、登録されたすべての出力 Handler オブジェクトに転送されます。
level
- メッセージレベル識別子の 1 つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名msg
- 文字列メッセージ、またはメッセージカタログのキーparam1
- ログメッセージのパラメータpublic void logp(Level level, String sourceClass, String sourceMethod, String msg, Object[] params)
指定されたメッセージレベルで現在ロガーが使用可能な場合、対応する LogRecord が作成され、登録されたすべての出力 Handler オブジェクトに転送されます。
level
- メッセージレベル識別子の 1 つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名msg
- 文字列メッセージ、またはメッセージカタログのキーparams
- メッセージのパラメータの配列public void logp(Level level, String sourceClass, String sourceMethod, String msg, Throwable thrown)
指定されたメッセージレベルで現在ロガーが使用可能な場合、指定された引数が、登録されたすべての出力ハンドラに転送された LogRecord に格納されます。
thrown 引数は、LogRecord の parameters プロパティーにではなく、LogRecord の thrown プロパティーに格納されることに注意してください。このため、それは出力 Formatter によって特別な方法で処理されます。LogRecord の message プロパティーに対するフォーマット処理パラメータとはみなされません。
level
- メッセージレベル識別子の 1 つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名msg
- 文字列メッセージ、またはメッセージカタログのキーthrown
- ログメッセージに関連した Throwablepublic void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg)
指定されたメッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。
msg 文字列は、指定されたリソースバンドルを使ってローカライズされます。リソースバンドル名が null、空の String のいずれかであるか無効である場合、msg 文字列はローカライズされません。
level
- メッセージレベル識別子の 1 つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名bundleName
- msg をローカライズするためのリソースバンドル名。null も可能msg
- 文字列メッセージ、またはメッセージカタログのキーpublic void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object param1)
指定されたメッセージレベルで現在ロガーが使用可能な場合、対応する LogRecord が作成され、登録されたすべての出力 Handler オブジェクトに転送されます。
msg 文字列は、指定されたリソースバンドルを使ってローカライズされます。リソースバンドル名が null、空の String のいずれかであるか無効である場合、msg 文字列はローカライズされません。
level
- メッセージレベル識別子の 1 つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名bundleName
- msg をローカライズするためのリソースバンドル名。null も可能msg
- 文字列メッセージ、またはメッセージカタログのキーparam1
- ログメッセージのパラメータpublic void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object[] params)
指定されたメッセージレベルで現在ロガーが使用可能な場合、対応する LogRecord が作成され、登録されたすべての出力 Handler オブジェクトに転送されます。
msg 文字列は、指定されたリソースバンドルを使ってローカライズされます。リソースバンドル名が null、空の String のいずれかであるか無効である場合、msg 文字列はローカライズされません。
level
- メッセージレベル識別子の 1 つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名bundleName
- msg をローカライズするためのリソースバンドル名。null も可能msg
- 文字列メッセージ、またはメッセージカタログのキーparams
- メッセージのパラメータの配列public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Throwable thrown)
指定されたメッセージレベルで現在ロガーが使用可能な場合、指定された引数が、登録されたすべての出力ハンドラに転送された LogRecord に格納されます。
msg 文字列は、指定されたリソースバンドルを使ってローカライズされます。リソースバンドル名が null、空の String のいずれかであるか無効である場合、msg 文字列はローカライズされません。
thrown 引数は、LogRecord の parameters プロパティーにではなく、LogRecord の thrown プロパティーに格納されることに注意してください。このため、それは出力 Formatter によって特別な方法で処理されます。LogRecord の message プロパティーに対するフォーマット処理パラメータとはみなされません。
level
- メッセージレベル識別子の 1 つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名bundleName
- msg をローカライズするためのリソースバンドル名。null も可能msg
- 文字列メッセージ、またはメッセージカタログのキーthrown
- ログメッセージに関連した Throwablepublic void entering(String sourceClass, String sourceMethod)
これは、メソッドへのエントリのロギングに使用可能な簡易メソッドです。メッセージ「ENTRY」、ログレベル FINER、および指定された sourceMethod と sourceClass を含む LogRecord が、ロギングされます。
sourceClass
- ロギングの要求を発行したクラス名sourceMethod
- エントリしているメソッド名public void entering(String sourceClass, String sourceMethod, Object param1)
これは、メソッドへのエントリのロギングに使用可能な簡易メソッドです。メッセージ「ENTRY {0}」、ログレベル FINER、および指定された sourceMethod、sourceClass、パラメータを含む LogRecord が、ロギングされます。
sourceClass
- ロギングの要求を発行したクラス名sourceMethod
- エントリしているメソッド名param1
- エントリしているメソッドのパラメータpublic void entering(String sourceClass, String sourceMethod, Object[] params)
これは、メソッドへのエントリのロギングに使用可能な簡易メソッドです。メッセージ「ENTRY」(パラメータ配列内のエントリごとにフォーマット {N} インジケータが 1 つずつ続く)、ログレベル FINER、および指定された sourceMethod、sourceClass、パラメータを含む LogRecord が、ロギングされます。
sourceClass
- ロギングの要求を発行したクラス名sourceMethod
- エントリしているメソッド名params
- エントリしているメソッドのパラメータの配列public void exiting(String sourceClass, String sourceMethod)
これは、メソッドからの復帰のロギングに使用可能な簡易メソッドです。メッセージ「RETURN」、ログレベル FINER、および指定された sourceMethod と sourceClass を含む LogRecord が、ロギングされます。
sourceClass
- ロギングの要求を発行したクラス名sourceMethod
- メソッドの名前public void exiting(String sourceClass, String sourceMethod, Object result)
これは、メソッドからの復帰のロギングに使用可能な簡易メソッドです。メッセージ「RETURN {0}」、ログレベル FINER、および指定された sourceMethod、sourceClass、結果オブジェクトを含む LogRecord が、ロギングされます。
sourceClass
- ロギングの要求を発行したクラス名sourceMethod
- メソッドの名前result
- 返されたオブジェクトpublic void throwing(String sourceClass, String sourceMethod, Throwable thrown)
これは、あるメソッドが例外をスローして終了したことをロギングするための簡易メソッドです。このロギングは FINER レベルを使って行われます。
指定されたメッセージレベルで現在ロガーが使用可能な場合、指定された引数が、登録されたすべての出力ハンドラに転送された LogRecord に格納されます。LogRecord の message が「THROW」に設定されます。
thrown 引数は、LogRecord の parameters プロパティーにではなく、LogRecord の thrown プロパティーに格納されることに注意してください。このため、それは出力 Formatter によって特別な方法で処理されます。LogRecord の message プロパティーに対するフォーマット処理パラメータとはみなされません。
sourceClass
- ロギングの要求を発行したクラス名sourceMethod
- メソッドの名前thrown
- スローされた Throwablepublic void severe(String msg)
SEVERE メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力ハンドラに転送されます。
msg
- 文字列メッセージ、またはメッセージカタログのキーpublic void warning(String msg)
WARNING メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。
msg
- 文字列メッセージ、またはメッセージカタログのキーpublic void info(String msg)
INFO メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。
msg
- 文字列メッセージ、またはメッセージカタログのキーpublic void config(String msg)
CONFIG メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。
msg
- 文字列メッセージ、またはメッセージカタログのキーpublic void fine(String msg)
FINE メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。
msg
- 文字列メッセージ、またはメッセージカタログのキーpublic void finer(String msg)
FINER メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。
msg
- 文字列メッセージ、またはメッセージカタログのキーpublic void finest(String msg)
FINEST メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。
msg
- 文字列メッセージ、またはメッセージカタログのキーpublic void setLevel(Level newLevel) throws SecurityException
新しいレベルが null の場合、このノードが null 以外の特定のレベル値を持つもっとも近い上位ノードから、そのレベルを継承することを意味します。
newLevel
- ログレベルの新しい値 (null の場合がある)
SecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合public Level getLevel()
public boolean isLoggable(Level level)
level
- メッセージのログをとるレベル
public String getName()
public void addHandler(Handler handler) throws SecurityException
デフォルトでは、ロガーは自分の親ロガーにも出力を送信します。ルート Logger は通常、基本的にすべてのロガーのデフォルトハンドラとして機能する一連の Handler を持つように構成されます。
handler
- ログ Handler
SecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合public void removeHandler(Handler handler) throws SecurityException
指定された Handler が見つからないか null の場合は何も行わずに復帰します。
handler
- ログ Handler
SecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合public Handler[] getHandlers()
public void setUseParentHandlers(boolean useParentHandlers)
useParentHandlers
- 出力がロガーの親に送信される場合は true
SecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合public boolean getUseParentHandlers()
public Logger getParent()
このメソッドは名前空間でもっとも近い現存する親を返します。したがって、Logger が「a.b.c.d」と呼ばれ、「a.b」と呼ばれる Logger が作成されて、ロガー「a.b.c」が存在しない場合、Logger「a.b.c.d」の getParent の呼び出しは Logger「a.b」を返します。
名前空間のルート Logger を呼び出す場合、結果は null になります。
public void setParent(Logger parent)
これはアプリケーションコードから呼び出してはいけません。
parent
- 新しい親ロガー
SecurityException
- セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。