JavaTM Platform
Standard Ed. 6

java.util.logging
クラス Logger

java.lang.Object
  上位を拡張 java.util.logging.Logger

public class Logger
extends Object

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 つの主なカテゴリに分類されます。

明示的なソース名とメソッド名を取らないメソッドの場合、Logging フレームワークは「最善の努力」を払って、どのクラスとメソッドがそのロギングメソッドを呼び出したのかを判定します。ただし、自動的に推測されたこの情報は概略に過ぎない (それどころか完全な間違いである可能性さえある) ことを理解しておく必要があります。仮想マシンは、JIT 処理の際に大規模な最適化を行うことが許されており、スタックフレームをすべて削除する可能性があるため、呼び出しクラスとメソッドを確実に検出することは不可能となっています。

Logger のすべてのメソッドは、マルチスレッドセーフです。

サブクラス化に関する情報: LogManager クラスが名前付き Logger の独自実装を名前空間内の任意の位置に提供する可能性があることに注意してください。したがって、Logger のすべてのサブクラスは、(それらが別の新しい LogManager クラスとともに実装されたのでないかぎり)、忘れずに LogManager クラスから Logger インスタンスを取得し、そのインスタンスに「isLoggable」や「log(LogRecord)」などのオペレーションを委譲すべきです。すべてのロギング出力を横取りするためにサブクラスが行う必要があるのは、log(LogRecord) メソッドのオーバーライドだけであることに注意してください。ほかのロギングメソッドはすべて、この log(LogRecord) メソッドへの呼び出しとして実装されています。

導入されたバージョン:
1.4

フィールドの概要
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
 

フィールドの詳細

GLOBAL_LOGGER_NAME

public static final String GLOBAL_LOGGER_NAME
GLOBAL_LOGGER_NAME は、グローバルロガーの名前です。この名前は、ロギングパッケージを時々使用する開発者の便宜を図るために提供されています。製品などでロギングパッケージを本格的に使用する開発者は、適切な名前を持つ独自の Logger オブジェクトを作成し、それを使用すべきです。そうすれば、適切な Logger 単位の粒度でロギングを制御することができます。

グローバルロガーオブジェクトを取得するための推奨の方法は、Logger.getLogger(Logger.GLOBAL_LOGGER_NAME) を呼び出すことです。

導入されたバージョン:
1.6
関連項目:
定数フィールド値

global

@Deprecated
public static final Logger global
推奨されていません。 このフィールドの初期化時にデッドロックが発生する可能性があります。このフィールドは Logger クラス初期化によって初期化されますが、それにより、LogManager クラス初期化との間でデッドロックが発生する可能性があります。そのような場合、2 つのクラス初期化は他方が完了するまで待機します。JDK version 1.6 以降でグローバルロガーオブジェクトを取得するための推奨の方法は、Logger.getLogger(Logger.GLOBAL_LOGGER_NAME) を呼び出すことです。
「global」 Logger オブジェクトは、ロギングパッケージを時々使用する開発者の便宜を図るために提供されています。製品などでロギングパッケージを本格的に使用する開発者は、適切な名前を持つ独自の Logger オブジェクトを作成し、それを使用すべきです。そうすれば、適切な Logger 単位の粒度でロギングを制御することができます。

コンストラクタの詳細

Logger

protected Logger(String name,
                 String resourceBundleName)
名前付きサブシステムのロガーを構築する protected メソッドです。

当初、ロガーは Level が null、useParentHandlers が true で構成されます。

パラメータ:
name - ロガーの名前。これはドットで区切られた名前にすべきであり、通常は java.net や javax.swing など、サブシステムのパッケージ名またはクラス名に基づいた名前にすべきである。匿名 Logger の場合は null も可能
resourceBundleName - このロガーのメッセージのローカライズに使用される ResourceBundle の名前。ローカリゼーションを必要とするメッセージが存在しない場合は null も可能
例外:
MissingResourceException - ResourceBundleName が null 以外であり、それに対応するリソースが見つからない場合
メソッドの詳細

getLogger

public static Logger getLogger(String name)
指定されたサブシステムのロガーを検出または作成します。指定された名前のロガーがすでに作成されていた場合はそれが返されます。それ以外の場合は新しいロガーが作成されます。

新しいロガーが作成される場合、そのログレベルは LogManager の構成に基づいて設定され、またそのログ出力を親のハンドラに送信するように設定されます。これは LogManager のグローバル名前空間に登録されます。

パラメータ:
name - ロガーの名前。これはドットで区切られた名前にすべきであり、通常は java.net や javax.swing など、サブシステムのパッケージ名またはクラス名に基づいた名前にすべきである
戻り値:
適切な Logger
例外:
NullPointerException - 名前が null の場合

getLogger

public static Logger getLogger(String name,
                               String resourceBundleName)
指定されたサブシステムのロガーを検出または作成します。指定された名前のロガーがすでに作成されていた場合はそれが返されます。それ以外の場合は新しいロガーが作成されます。

新しいロガーが作成される場合、そのログレベルは LogManager の構成に基づいて設定され、またそのログ出力を親のロガー Handler に送信するように設定されます。これは LogManager のグローバル名前空間に登録されます。

指定された Logger がすでに存在しており、それがローカリゼーションリソースバンドルをまだ持っていない場合は、指定されたリソースバンドル名が使用されます。指定された Logger がすでに存在しており、それが異なるリソースバンドル名を持っている場合は、IllegalArgumentException がスローされます。

パラメータ:
name - ロガーの名前。これはドットで区切られた名前にすべきであり、通常は java.net や javax.swing など、サブシステムのパッケージ名またはクラス名に基づいた名前にすべきである
resourceBundleName - このロガーのメッセージのローカライズに使用される ResourceBundle の名前。ローカリゼーションを必要とするメッセージが存在しない場合は null も可能
戻り値:
適切な Logger
例外:
MissingResourceException - 名前付き ResourceBundle が見つからない場合
IllegalArgumentException - Logger がすでに存在しており、それが異なるリソースバンドル名を使用している場合
NullPointerException - 名前が null の場合

getAnonymousLogger

public static Logger getAnonymousLogger()
匿名 Logger を作成します。新しく作成された Logger は、LogManager の名前空間に登録されません。ロガー更新時のアクセスチェックは行われません。

このファクトリメソッドの主な目的は、アプレットからの使用です。結果として得られる Logger は匿名であるため、作成元のクラスによって非公開の状態に保たれます。これにより、通常のセキュリティーチェックを行う必要がなくなり、信頼できないアプレットコードが Logger の制御状態を更新できるようになります。たとえば、アプレットは、匿名の Logger 上で setLevel や addHandler を実行できます。

新しいロガーは、匿名ではありますが、ルートロガー (「」) を親に持つように構成されます。これは、そのロガーがデフォルトで、実効レベルとハンドラをルートロガーから継承することを意味します。

戻り値:
新しく作成された private Logger

getAnonymousLogger

public static Logger getAnonymousLogger(String resourceBundleName)
匿名 Logger を作成します。新しく作成された Logger は、LogManager の名前空間に登録されません。ロガー更新時のアクセスチェックは行われません。

このファクトリメソッドの主な目的は、アプレットからの使用です。結果として得られる Logger は匿名であるため、作成元のクラスによって非公開の状態に保たれます。これにより、通常のセキュリティーチェックを行う必要がなくなり、信頼できないアプレットコードが Logger の制御状態を更新できるようになります。たとえば、アプレットは、匿名の Logger 上で setLevel や addHandler を実行できます。

新しいロガーは、匿名ではありますが、ルートロガー (「」) を親に持つように構成されます。これは、そのロガーがデフォルトで、実効レベルとハンドラをルートロガーから継承することを意味します。

パラメータ:
resourceBundleName - このロガーのメッセージのローカライズに使用される ResourceBundle の名前。ローカリゼーションを必要とするメッセージが存在しない場合は null も可能
戻り値:
新しく作成された private Logger
例外:
MissingResourceException - 名前付き ResourceBundle が見つからない場合

getResourceBundle

public ResourceBundle getResourceBundle()
現在のデフォルトロケールに対するこのロガーのローカリゼーションリソースバンドルを取得します。結果が null の場合、Logger は親から継承したリソースバンドルを使用することに注意してください。

戻り値:
ローカリゼーションバンドル (null の場合がある)

getResourceBundleName

public String getResourceBundleName()
このロガーのローカリゼーションリソースバンドルの名前を取得します。結果が null の場合、Logger は親から継承したリソースバンドルの名前を使用することに注意してください。

戻り値:
ローカリゼーションバンドルの名前 (null の場合がある)

setFilter

public void setFilter(Filter newFilter)
               throws SecurityException
フィルタを設定してこの Logger の出力を制御します。

初期の「レベル」検査に合格すると、Logger はこの Filter を呼び出してログレコードが実際に通知されるかどうかを調べます。

パラメータ:
newFilter - フィルタオブジェクト (null の場合がある)
例外:
SecurityException - セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合

getFilter

public Filter getFilter()
この Logger の現在のフィルタを返します。

戻り値:
フィルタオブジェクト (null の場合がある)

log

public void log(LogRecord record)
LogRecord のログをとります。

このクラス内のその他のロギングメソッドはすべて、このメソッドを呼び出すことで、実際のあらゆるロギングを実行します。サブクラスは、このメソッドをオーバーライドするだけで、すべてのログ活動を捕捉できます。

パラメータ:
record - 通知される LogRecord

log

public void log(Level level,
                String msg)
引数のないメッセージのログをとります。

指定されたメッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
msg - 文字列メッセージ、またはメッセージカタログのキー

log

public void log(Level level,
                String msg,
                Object param1)
1 つのオブジェクトのパラメータを持つメッセージのログをとります。

指定されたメッセージレベルで現在ロガーが使用可能な場合、対応する LogRecord が作成され、登録されたすべての出力 Handler オブジェクトに転送されます。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
msg - 文字列メッセージ、またはメッセージカタログのキー
param1 - メッセージのパラメータ

log

public void log(Level level,
                String msg,
                Object[] params)
オブジェクトの引数の配列を持つメッセージのログをとります。

指定されたメッセージレベルで現在ロガーが使用可能な場合、対応する LogRecord が作成され、登録されたすべての出力 Handler オブジェクトに転送されます。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
msg - 文字列メッセージ、またはメッセージカタログのキー
params - メッセージのパラメータの配列

log

public void log(Level level,
                String msg,
                Throwable thrown)
関連する Throwable 情報を持つメッセージのログをとります。

指定されたメッセージレベルで現在ロガーが使用可能な場合、指定された引数が、登録されたすべての出力ハンドラに転送された LogRecord に格納されます。

thrown 引数は、LogRecord の parameters プロパティーにではなく、LogRecord の thrown プロパティーに格納されることに注意してください。このため、それは出力 Formatter によって特別な方法で処理されます。LogRecord の message プロパティーに対するフォーマット処理パラメータとはみなされません。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
msg - 文字列メッセージ、またはメッセージカタログのキー
thrown - ログメッセージに関連した Throwable

logp

public void logp(Level level,
                 String sourceClass,
                 String sourceMethod,
                 String msg)
ソースクラスとメソッドを指定する、引数のないメッセージのログをとります。

指定されたメッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - ロギングの要求を発行したメソッド名
msg - 文字列メッセージ、またはメッセージカタログのキー

logp

public void logp(Level level,
                 String sourceClass,
                 String sourceMethod,
                 String msg,
                 Object param1)
ソースクラスとメソッドを指定し、ログメッセージに対して単一のオブジェクトパラメータを持つメッセージのログをとります。

指定されたメッセージレベルで現在ロガーが使用可能な場合、対応する LogRecord が作成され、登録されたすべての出力 Handler オブジェクトに転送されます。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - ロギングの要求を発行したメソッド名
msg - 文字列メッセージ、またはメッセージカタログのキー
param1 - ログメッセージのパラメータ

logp

public void logp(Level level,
                 String sourceClass,
                 String sourceMethod,
                 String msg,
                 Object[] params)
ソースクラスとメソッドを指定する、オブジェクトの引数の配列を持つメッセージのログをとります。

指定されたメッセージレベルで現在ロガーが使用可能な場合、対応する LogRecord が作成され、登録されたすべての出力 Handler オブジェクトに転送されます。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - ロギングの要求を発行したメソッド名
msg - 文字列メッセージ、またはメッセージカタログのキー
params - メッセージのパラメータの配列

logp

public void logp(Level level,
                 String sourceClass,
                 String sourceMethod,
                 String msg,
                 Throwable thrown)
ソースクラスとメソッドを指定し、関連する Throwable 情報を持つメッセージのログをとります。

指定されたメッセージレベルで現在ロガーが使用可能な場合、指定された引数が、登録されたすべての出力ハンドラに転送された LogRecord に格納されます。

thrown 引数は、LogRecord の parameters プロパティーにではなく、LogRecord の thrown プロパティーに格納されることに注意してください。このため、それは出力 Formatter によって特別な方法で処理されます。LogRecord の message プロパティーに対するフォーマット処理パラメータとはみなされません。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - ロギングの要求を発行したメソッド名
msg - 文字列メッセージ、またはメッセージカタログのキー
thrown - ログメッセージに関連した Throwable

logrb

public void logrb(Level level,
                  String sourceClass,
                  String sourceMethod,
                  String bundleName,
                  String msg)
ソースクラス、メソッド、およびリソースバンドル名を指定し、引数のないメッセージのログをとります。

指定されたメッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。

msg 文字列は、指定されたリソースバンドルを使ってローカライズされます。リソースバンドル名が null、空の String のいずれかであるか無効である場合、msg 文字列はローカライズされません。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - ロギングの要求を発行したメソッド名
bundleName - msg をローカライズするためのリソースバンドル名。null も可能
msg - 文字列メッセージ、またはメッセージカタログのキー

logrb

public void logrb(Level level,
                  String sourceClass,
                  String sourceMethod,
                  String bundleName,
                  String msg,
                  Object param1)
ソースクラス、メソッド、およびリソースバンドル名を指定し、ログメッセージに対して単一のオブジェクトパラメータを持つメッセージのログをとります。

指定されたメッセージレベルで現在ロガーが使用可能な場合、対応する LogRecord が作成され、登録されたすべての出力 Handler オブジェクトに転送されます。

msg 文字列は、指定されたリソースバンドルを使ってローカライズされます。リソースバンドル名が null、空の String のいずれかであるか無効である場合、msg 文字列はローカライズされません。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - ロギングの要求を発行したメソッド名
bundleName - msg をローカライズするためのリソースバンドル名。null も可能
msg - 文字列メッセージ、またはメッセージカタログのキー
param1 - ログメッセージのパラメータ

logrb

public void logrb(Level level,
                  String sourceClass,
                  String sourceMethod,
                  String bundleName,
                  String msg,
                  Object[] params)
ソースクラス、メソッド、およびリソースバンドル名を指定し、オブジェクトの引数の配列を持つメッセージのログをとります。

指定されたメッセージレベルで現在ロガーが使用可能な場合、対応する LogRecord が作成され、登録されたすべての出力 Handler オブジェクトに転送されます。

msg 文字列は、指定されたリソースバンドルを使ってローカライズされます。リソースバンドル名が null、空の String のいずれかであるか無効である場合、msg 文字列はローカライズされません。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - ロギングの要求を発行したメソッド名
bundleName - msg をローカライズするためのリソースバンドル名。null も可能
msg - 文字列メッセージ、またはメッセージカタログのキー
params - メッセージのパラメータの配列

logrb

public void logrb(Level level,
                  String sourceClass,
                  String sourceMethod,
                  String bundleName,
                  String msg,
                  Throwable thrown)
ソースクラス、メソッド、およびリソースバンドル名を指定し、関連する Throwable 情報を持つメッセージのログをとります。

指定されたメッセージレベルで現在ロガーが使用可能な場合、指定された引数が、登録されたすべての出力ハンドラに転送された LogRecord に格納されます。

msg 文字列は、指定されたリソースバンドルを使ってローカライズされます。リソースバンドル名が null、空の String のいずれかであるか無効である場合、msg 文字列はローカライズされません。

thrown 引数は、LogRecord の parameters プロパティーにではなく、LogRecord の thrown プロパティーに格納されることに注意してください。このため、それは出力 Formatter によって特別な方法で処理されます。LogRecord の message プロパティーに対するフォーマット処理パラメータとはみなされません。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - ロギングの要求を発行したメソッド名
bundleName - msg をローカライズするためのリソースバンドル名。null も可能
msg - 文字列メッセージ、またはメッセージカタログのキー
thrown - ログメッセージに関連した Throwable

entering

public void entering(String sourceClass,
                     String sourceMethod)
メソッドエントリのログをとります。

これは、メソッドへのエントリのロギングに使用可能な簡易メソッドです。メッセージ「ENTRY」、ログレベル FINER、および指定された sourceMethod と sourceClass を含む LogRecord が、ロギングされます。

パラメータ:
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - エントリしているメソッド名

entering

public void entering(String sourceClass,
                     String sourceMethod,
                     Object param1)
1 つのパラメータを持つメソッドエントリのログをとります。

これは、メソッドへのエントリのロギングに使用可能な簡易メソッドです。メッセージ「ENTRY {0}」、ログレベル FINER、および指定された sourceMethod、sourceClass、パラメータを含む LogRecord が、ロギングされます。

パラメータ:
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - エントリしているメソッド名
param1 - エントリしているメソッドのパラメータ

entering

public void entering(String sourceClass,
                     String sourceMethod,
                     Object[] params)
パラメータの配列を持つメソッドエントリのログをとります。

これは、メソッドへのエントリのロギングに使用可能な簡易メソッドです。メッセージ「ENTRY」(パラメータ配列内のエントリごとにフォーマット {N} インジケータが 1 つずつ続く)、ログレベル FINER、および指定された sourceMethod、sourceClass、パラメータを含む LogRecord が、ロギングされます。

パラメータ:
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - エントリしているメソッド名
params - エントリしているメソッドのパラメータの配列

exiting

public void exiting(String sourceClass,
                    String sourceMethod)
メソッド復帰のログをとります。

これは、メソッドからの復帰のロギングに使用可能な簡易メソッドです。メッセージ「RETURN」、ログレベル FINER、および指定された sourceMethod と sourceClass を含む LogRecord が、ロギングされます。

パラメータ:
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - メソッドの名前

exiting

public void exiting(String sourceClass,
                    String sourceMethod,
                    Object result)
結果オブジェクトを持つメソッド復帰のログをとります。

これは、メソッドからの復帰のロギングに使用可能な簡易メソッドです。メッセージ「RETURN {0}」、ログレベル FINER、および指定された sourceMethod、sourceClass、結果オブジェクトを含む LogRecord が、ロギングされます。

パラメータ:
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - メソッドの名前
result - 返されたオブジェクト

throwing

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 - スローされた Throwable

severe

public void severe(String msg)
SEVERE メッセージのログをとります。

SEVERE メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力ハンドラに転送されます。

パラメータ:
msg - 文字列メッセージ、またはメッセージカタログのキー

warning

public void warning(String msg)
WARNING メッセージのログをとります。

WARNING メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。

パラメータ:
msg - 文字列メッセージ、またはメッセージカタログのキー

info

public void info(String msg)
INFO メッセージのログをとります。

INFO メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。

パラメータ:
msg - 文字列メッセージ、またはメッセージカタログのキー

config

public void config(String msg)
CONFIG メッセージのログをとります。

CONFIG メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。

パラメータ:
msg - 文字列メッセージ、またはメッセージカタログのキー

fine

public void fine(String msg)
FINE メッセージのログをとります。

FINE メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。

パラメータ:
msg - 文字列メッセージ、またはメッセージカタログのキー

finer

public void finer(String msg)
FINER メッセージのログをとります。

FINER メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。

パラメータ:
msg - 文字列メッセージ、またはメッセージカタログのキー

finest

public void finest(String msg)
FINEST メッセージのログをとります。

FINEST メッセージレベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力 Handler オブジェクトに転送されます。

パラメータ:
msg - 文字列メッセージ、またはメッセージカタログのキー

setLevel

public void setLevel(Level newLevel)
              throws SecurityException
このロガーがどのメッセージレベルをロギングするかを指定するログレベルを設定します。この値より小さいメッセージレベルは破棄されます。レベル値 Level.OFF を使えば、ロギングをオフにできます。

新しいレベルが null の場合、このノードが null 以外の特定のレベル値を持つもっとも近い上位ノードから、そのレベルを継承することを意味します。

パラメータ:
newLevel - ログレベルの新しい値 (null の場合がある)
例外:
SecurityException - セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合

getLevel

public Level getLevel()
この Logger に指定されたログ Level を取得します。結果は null になる場合もありますが、それは、このロガーの実効レベルが親から継承されることを意味します。

戻り値:
この Logger のレベル

isLoggable

public boolean isLoggable(Level level)
指定されたレベルのメッセージがこのロガーによって実際にロギングされるかどうかをチェックします。このチェックは、親から継承される可能性のある Logger の実効レベルに基づいて行われます。

パラメータ:
level - メッセージのログをとるレベル
戻り値:
指定されたメッセージレベルで現在ログがとられている場合は true

getName

public String getName()
このロガーの名前を返します。

戻り値:
ロガーの名前。匿名 Logger の場合は null

addHandler

public void addHandler(Handler handler)
                throws SecurityException
ログ Handler を追加してログメッセージを受け取ります。

デフォルトでは、ロガーは自分の親ロガーにも出力を送信します。ルート Logger は通常、基本的にすべてのロガーのデフォルトハンドラとして機能する一連の Handler を持つように構成されます。

パラメータ:
handler - ログ Handler
例外:
SecurityException - セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合

removeHandler

public void removeHandler(Handler handler)
                   throws SecurityException
ログ Handler を削除します。

指定された Handler が見つからないか null の場合は何も行わずに復帰します。

パラメータ:
handler - ログ Handler
例外:
SecurityException - セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合

getHandlers

public Handler[] getHandlers()
このロガーに関連した Handler を返します。

戻り値:
すべての登録された Handler の配列

setUseParentHandlers

public void setUseParentHandlers(boolean useParentHandlers)
このロガーが出力をその親ロガーに送信すべきかどうかを指定します。つまり、すべての LogRecord がその親の Handler にも書き込まれ、場合によってはそのまた親の Handler にも書き込まれます。これが、名前空間の上方に向けて繰り返されます。

パラメータ:
useParentHandlers - 出力がロガーの親に送信される場合は true
例外:
SecurityException - セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合

getUseParentHandlers

public boolean getUseParentHandlers()
このロガーが出力をその親ロガーに送信しているかどうかを検出します。

戻り値:
出力がロガーの親に送信される場合は true

getParent

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 になります。

戻り値:
もっとも近い既存の親 Logger

setParent

public void setParent(Logger parent)
このロガーの親を設定します。このメソッドは、名前空間の変更時に Logger を更新するために、LogManager によって使用されます。

これはアプリケーションコードから呼び出してはいけません。

パラメータ:
parent - 新しい親ロガー
例外:
SecurityException - セキュリティーマネージャーが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。