JavaTM 2
Platform
Std. Ed. v1.4.0

java.util.logging
クラス Logger

java.lang.Object
  |
  +--java.util.logging.Logger

public class Logger
extends Object

Logger オブジェクトを使用して、特定のシステムまたはアプリケーションコンポーネントのメッセージのログをとります。通常、Logger は階層的なドットで区切られた名前空間を使用して名前が付けられます。Logger の名前は任意の文字列を使用できますが、通常は java.net または javax.swing のようなログをとるコンポーネントのパッケージ名またはクラス名に基づく必要があります。さらに、Logger 名前空間に格納されない匿名の Logger を作成することもできます。

Logger オブジェクトは、getLogger ファクトリメソッドのどれかを呼び出すことにより取得されます。このオブジェクトは、新しい Logger を作成するか、または既存の適切な Logger を返します。

ログメッセージは登録された Handler オブジェクトに転送されます。このオブジェクトは、コンソール、ファイル、OS ログなどさまざまな出力先にメッセージを転送できます。

各 Logger は、Logger の名前空間にある既存の上位クラスにもっとも近い「親」Logger を追跡します。

各 Logger は各々に関連した Level を持ちます。これは、このロガーが対象とする最小 Level を反映します。Logger のレベルが null に設定される場合、Logger の有効なレベルはその親から継承され、そしてまた親はその親から再帰的に有効なレベルを取得します。これは、ツリーの上位方向に以下同様に行われます。

ログレベルは、LogManager クラスの説明に記述されているように、ログ構成ファイルのプロパティに基づいて構成することができます。ただし、ログレベルは Logger.setLevel メソッドの呼び出しによって動的に変更される場合もあります。ロガーのレベルが変更される場合、レベルが null の子のロガーは、その親から有効なレベルを継承しているので、変更により子のロガーが影響を受けることもあります。

ログの呼び出しごとに、Logger は、最初にロガーの有効なログレベルに対して SEVERE または FINE など要求レベルの簡単な検査を行います。要求レベルがログレベルより低い場合、ただちにログの呼び出しが復帰します。

この初期 (簡易) テストに合格すると、Logger はログメッセージを記述するために LogRecord を割り当てます。次に Filter がある場合はそれを呼び出して、ログレコードを通知できるかどうかのより詳細な検査を行います。それに合格すると、出力 Handler に LogRecord を通知します。デフォルトでは、ロガーは親の Handler にも通知します。これは階層の上位方向に再帰的に行われます。

各 Logger は各々に関連した ResourceBundle 名を持ちます。名前付きバンドルはログメッセージを地域対応化するために使われます。Logger が独自の ResourceBundle 名を持たない場合は、その親から ResourceBundle 名を継承します。これはツリーの上位方向に再帰的に行われます。

大部分のロガー出力メソッドは msg 引数を取得します。この msg 引数は raw 値か地域対応キーのいずれかです。フォーマット処理時に、ロガーが地域対応 ResourceBundle を持っているかまたは継承している場合、および ResourceBundle が msg 文字列のマッピングを持っている場合は、msg 文字列は地域化された値に置き換えられます。それ以外の場合は、元の msg 文字列が使われます。通常、フォーマッタは java.text.MessageFormat スタイルのフォーマット処理を行い、パラメータをフォーマットします。このため、たとえばフォーマット文字列 {0} {1} は、2 つのパラメータを文字列としてフォーマットします。

ResourceBundle の名前を ResourceBundle にマッピングすると、Logger は最初に Thread の ContextClassLoader の使用を試みます。これが null の場合、代わりに SystemClassLoader の使用を試みます。初期の実装における一時的な移行機能として、Logger が 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
          「グローバル$B(I# Logger %*%V%8%'%/%H$O!"Logging パッケージを気軽に使用する開発者が簡単に使用できるように提供されます。
 
コンストラクタの概要
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()
          このロガーについて指定されたログレベルを返します。
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)
          この Logger の親を設定します。
 void setUseParentHandlers(boolean useParentHandlers)
          このロガーが出力をその親 Logger に送信するかどうかを指定します。
 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

public static final Logger global
「グローバル$B(I# Logger %*%V%8%'%/%H$O!"Logging パッケージを気軽に使用する開発者が簡単に使用できるように提供されます。製品などで、ロギングパッケージを本格的にオブジェクトを生成する使用する開発者は、適切な名前を持つ自分自身の Logger オブジェクトを作成して使用する必要があり、それによりロギングを Logger ごとに適切な細分度で制御できます。

グローバルロガーは Logger.getLogger("global") の呼び出しにより初期化されます。

コンストラクタの詳細

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

getLogger

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

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

名前付き Logger がすでに存在し、まだ地域対応リソースバンドルを持たない場合、指定されたリソースバンドル名が使用されます。名前付き Logger がすでに存在し、異なるリソースバンドル名を持つ場合、IllegalArgumentException がスローされます。

パラメータ:
name - ロガーの名前。これは、java.net または javax.swing のようにドットで区切られ、通常サブシステムのパッケージ名またはクラス名に基づいた名前でなければならない
resourceBundleName - このロガーのメッセージを地域対応化するために使われる ResourceBundle の名前
戻り値:
適切な Logger
例外:
MissingResourceException - 名前付き ResourceBundle が見つからない場合
IllegalArgumentException - Logger がすでに存在し、異なるリソースバンドル名を使用している場合

getAnonymousLogger

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

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

新しいロガーが匿名の場合であっても、その親としてルートロガー ("") を持つように構成できます。これは、デフォルトでルートロガーから有効なレベルとハンドラを継承することを意味します。

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

getAnonymousLogger

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

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

新しいロガーが匿名の場合であっても、その親としてルートロガー ("") を持つように構成できます。これは、デフォルトでルートロガーから有効なレベルとハンドラを継承することを意味します。

パラメータ:
resourceBundleName - このロガーのメッセージを地域対応化するために使われる ResourceBundle の名前
戻り値:
新しく作成された 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 に格納されます。

スローされる引数は LogRecord パラメータのプロパティではなく、LogRecord のスローされるプロパティに格納されることに注意してください。このように、この引数は出力 Formatter によって特別に処理され、LogRecord のメッセージプロパティのフォーマット処理パラメータとしては取り扱われません。

パラメータ:
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 に格納されます。

スローされる引数は LogRecord パラメータのプロパティではなく、LogRecord のスローされるプロパティに格納されることに注意してください。このように、この引数は出力 Formatter によって特別に処理され、LogRecord のメッセージプロパティのフォーマット処理パラメータとしては取り扱われません。

パラメータ:
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 の場合、msg 文字列は地域化されません。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - ロギングの要求を発行したメソッド名
bundleName - msg を地域化するためのリソースバンドル名
msg - 文字列メッセージ、またはメッセージカタログのキー
例外:
MissingResourceException - 適切な ResourceBundle が見つからない場合

logrb

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

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

msg 文字列は名前付きリソースバンドルを使用して地域化されます。リソースバンドル名が null の場合、msg 文字列は地域化されません。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - ロギングの要求を発行したメソッド名
bundleName - msg を地域化するためのリソースバンドル名
msg - 文字列メッセージ、またはメッセージカタログのキー
param1 - ログメッセージのパラメータ
例外:
MissingResourceException - 適切な ResourceBundle が見つからない場合

logrb

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

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

msg 文字列は名前付きリソースバンドルを使用して地域化されます。リソースバンドル名が null の場合、msg 文字列は地域化されません。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - ロギングの要求を発行したメソッド名
bundleName - msg を地域化するためのリソースバンドル名
msg - 文字列メッセージ、またはメッセージカタログのキー
params - メッセージのパラメータの配列
例外:
MissingResourceException - 適切な ResourceBundle が見つからない場合

logrb

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

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

msg 文字列は名前付きリソースバンドルを使用して地域化されます。リソースバンドル名が null の場合、msg 文字列は地域化されません。

スローされる引数は LogRecord パラメータのプロパティではなく、LogRecord のスローされるプロパティに格納されることに注意してください。このように、この引数は出力 Formatter によって特別に処理され、LogRecord のメッセージプロパティのフォーマット処理パラメータとしては取り扱われません。

パラメータ:
level - メッセージレベル識別子の 1 つ。たとえば、SEVERE
sourceClass - ロギングの要求を発行したクラス名
sourceMethod - ロギングの要求を発行したメソッド名
bundleName - msg を地域化するためのリソースバンドル名
msg - 文字列メッセージ、またはメッセージカタログのキー
thrown - ログメッセージに関連した Throwable
例外:
MissingResourceException - 適切な ResourceBundle が見つからない場合

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)
パラメータの配列を持つメソッドエントリのログをとります。

これはメソッドのエントリのログをとるために使用される簡易メソッドです。そのあとにパラメータ配列の各エントリのフォーマット {N} インジケータが続くメッセージ「ENTRY」、ログレベル 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 のメッセージは「THROW」に設定されます。

スローされる引数は LogRecord パラメータのプロパティではなく、LogRecord のスローされるプロパティに格納されることに注意してください。このように、この引数は出力 Formatter によって特別に処理され、LogRecord のメッセージプロパティのフォーマット処理パラメータとしては取り扱われません。

パラメータ:
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()
このロガーについて指定されたログレベルを返します。結果が 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 はその出力を親のロガーにも送信します。通常、ルート Logger はすべてのロガーのデフォルトハンドラとして実質的に動作する Handler のセットにより構成されます。

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

removeHandler

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

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

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

getHandlers

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

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

setUseParentHandlers

public void setUseParentHandlers(boolean useParentHandlers)
このロガーが出力をその親 Logger に送信するかどうかを指定します。これはすべての LogRecord が親の Handler にも書き込まれ、さらにその親にも書き込まれる可能性があることを意味します。これは名前空間の上位方向に再帰的に行われます。

例外:
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 によって使用され、名前空間が変更されたときに Logger を更新します。

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

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

JavaTM 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.