public class Logger extends Object
Loggerオブジェクトを取得するには、getLoggerファクトリ・メソッドのいずれかを呼び出します。これらは、新しい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
は、getLogger(java.lang.String, java.lang.String)
ファクトリ・メソッドを使用して名前で指定するか、またはsetResourceBundle
メソッドを使用して値で指定できます。このバンドルはロギング・メッセージをローカライズするために使用されます。Loggerが独自のResourceBundle
またはリソース・バンドル名を持たない場合、ResourceBundle
またはリソース・バンドル名を親から継承し、ツリーの上方に向けて再帰的に繰り返されます。
ロガーの出力メソッドのほとんどは、「msg」引数を取ります。このmsg引数には、生の値、ローカリゼーション・キーのいずれかを指定できます。書式設定時に、ロガーがローカリゼーションResourceBundle
を持って(または継承して)おり、そのResourceBundle
にメッセージ文字列のマッピングがある場合、メッセージ文字列はローカライズされた値に置き換えられます。それ以外の場合は、元のmsg文字列が使用されます。フォーマッタは通常、java.text.MessageFormatスタイルのフォーマットを使ってパラメータを書式設定するため、たとえば、フォーマット文字列「{0} {1}」は、2つのパラメータを文字列として書式設定します。
一連のメソッドは、「msg」引数の代わりに「msgSupplier」をとります。これらのメソッドは、Supplier
<String>
関数をとり、この関数はメッセージが実際に実効ログ・レベルに基づいて、ログに記録されるときにのみ、目的のログ・メッセージを構築するために呼び出されるため、不要なメッセージの構築がなくなります。たとえば、開発者が、文字列を受け付けるバージョンで、診断用のシステム正常性ステータスをログに記録したい場合、コードは次のようなものになります。
class DiagnosisMessages {
static String systemHealthStatus() {
// collect system health information
...
}
}
...
logger.log(Level.FINER, DiagnosisMessages.systemHealthStatus());
上のコードでは、ログ・レベルFINERが無効にされている場合でも、正常性ステータスが不必要に収集されます。下のようなサプライヤ受け付けバージョンでは、ログ・レベルFINERが有効にされている場合にのみ、ステータスが収集されます。
logger.log(Level.FINER, DiagnosisMessages::systemHealthStatus);
ロガーがResourceBundle
を検索する場合、まずバンドルがsetResourceBundle
を使用して指定されているかどうか、次に、getLogger
ファクトリ・メソッドによって、リソースバンドル名が指定されているかどうかのみを調べます。ResourceBundle
またはリソース・バンドル名が見つからない場合は、親ツリーから継承したもっとも近いResourceBundle
またはリソース・バンドル名を使用します。ResourceBundle
が継承されているか、setResourceBundle
メソッドによって指定されている場合、そのResourceBundle
が使われます。そうでない場合に、ロガーがリソース・バンドル名のみを持つか、継承している場合は、ロギング時に、デフォルトのロケールを使用して、そのリソース・バンドル名をResourceBundle
オブジェクトにマッピングします。
リソース・バンドル名をResourceBundle
オブジェクトにマッピングする際に、ロガーはまずスレッドのコンテキスト・クラス・ローダーを使用して、指定されたリソース・バンドル名をResourceBundle
にマッピングします。スレッド・コンテキスト・クラス・ローダーがnull
の場合、代わりにシステム・クラス・ローダーを試します。ResourceBundle
がまだ見つからない場合、getLogger
ファクトリ・メソッドの最初の呼出し元のクラス・ローダーを使用します。
ローカリゼーションを含むフォーマット処理は、通常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つのクラス初期化は他方が完了するまで待機します。グローバル・ロガー・オブジェクトを取得するための推奨の方法は、
Logger.getGlobal() を呼び出すことです。Logger.getGlobal() を使用できない古いJDKバージョンとの互換性のため、Logger.getLogger(Logger.GLOBAL_LOGGER_NAME) またはLogger.getLogger("global") の呼出しを使用してください。 |
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 |
config(Supplier<String> msgSupplier)
メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、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 |
fine(Supplier<String> msgSupplier)
メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、FINEメッセージのログを記録します。
|
void |
finer(String msg)
FINERメッセージのログをとります。
|
void |
finer(Supplier<String> msgSupplier)
メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、FINERメッセージのログを記録します。
|
void |
finest(String msg)
FINESTメッセージのログをとります。
|
void |
finest(Supplier<String> msgSupplier)
メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、FINESTメッセージのログを記録します。
|
static Logger |
getAnonymousLogger()
匿名Loggerを作成します。
|
static Logger |
getAnonymousLogger(String resourceBundleName)
匿名Loggerを作成します。
|
Filter |
getFilter()
このLoggerの現在のフィルタを返します。
|
static Logger |
getGlobal()
Logger.GLOBAL_LOGGER_NAMEという名前でグローバル・ロガー・オブジェクトを返します。
|
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メッセージのログをとります。
|
void |
info(Supplier<String> msgSupplier)
メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、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(Level level, Supplier<String> msgSupplier)
メッセージが実際に記録されるロギング・レベルである場合にのみ構築される、メッセージのログを記録します。
|
void |
log(Level level, Throwable thrown, Supplier<String> msgSupplier)
関連する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 |
logp(Level level, String sourceClass, String sourceMethod, Supplier<String> msgSupplier)
ソース・クラスとメソッドを指定する、引数のない遅延構築されたメッセージのログを記録します。
|
void |
logp(Level level, String sourceClass, String sourceMethod, Throwable thrown, Supplier<String> msgSupplier)
ソース・クラスとメソッドを指定し、関連するThrowable情報を含む遅延構築されたメッセージのログを記録します。
|
void |
logrb(Level level, String sourceClass, String sourceMethod, ResourceBundle bundle, String msg, Object... params)
ソース・クラス、メソッド、およびリソース・バンドルを指定し、メッセージ・パラメータのオプションのリストを含むメッセージのログを記録します。
|
void |
logrb(Level level, String sourceClass, String sourceMethod, ResourceBundle bundle, 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)
|
void |
removeHandler(Handler handler)
ログHandlerを削除します。
|
void |
setFilter(Filter newFilter)
フィルタを設定してこのLoggerの出力を制御します。
|
void |
setLevel(Level newLevel)
このロガーがどのメッセージ・レベルをロギングするかを指定するログ・レベルを設定します。
|
void |
setParent(Logger parent)
このロガーの親を設定します。
|
void |
setResourceBundle(ResourceBundle bundle)
このロガーのリソース・バンドルを設定します。
|
void |
setUseParentHandlers(boolean useParentHandlers)
このロガーが出力をその親ロガーに送信すべきかどうかを指定します。
|
void |
severe(String msg)
SEVEREメッセージのログをとります。
|
void |
severe(Supplier<String> msgSupplier)
メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、SEVEREメッセージのログを記録します。
|
void |
throwing(String sourceClass, String sourceMethod, Throwable thrown)
例外をスローするログをとります。
|
void |
warning(String msg)
WARNINGメッセージのログをとります。
|
void |
warning(Supplier<String> msgSupplier)
メッセージが実際にログに記録されるロギング・レベルである場合にのみ構築される、WARNINGメッセージのログを記録します。
|
public static final String GLOBAL_LOGGER_NAME
@Deprecated public static final Logger global
Logger.getGlobal()
を呼び出すことです。Logger.getGlobal()
を使用できない古いJDKバージョンとの互換性のため、Logger.getLogger(Logger.GLOBAL_LOGGER_NAME)
またはLogger.getLogger("global")
の呼出しを使用してください。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 final Logger getGlobal()
public static Logger getLogger(String name)
新しいロガーが作成される場合、そのログ・レベルはLogManagerの構成に基づいて設定され、またそのログ出力を親のHandlerに送信するように設定されます。これはLogManagerのグローバル名前空間に登録されます。
注: LogManagerは新しく作成されたロガーへの弱参照しか保持できません。指定した名前で以前に作成されたロガーは、ロガーへの強い参照がない場合に、いつでもガベージ・コレクトされる可能性があることを理解することが重要です。特に、このことは、getLogger("MyLogger").log(...)
などの2つの連続した呼出しで、プログラムのどこにも「MyLogger」という名前のロガーへの強い参照がない場合、「MyLogger」という名前の別のロガー・オブジェクトが使われる可能性があることを意味します。
name
- ロガーの名前。これはドットで区切られた名前にすべきであり、通常はjava.netやjavax.swingなど、サブシステムのパッケージ名またはクラス名に基づいた名前にすべきであるNullPointerException
- 名前がnullの場合。public static Logger getLogger(String name, String resourceBundleName)
新しいロガーが作成される場合、そのログ・レベルはLogManagerの構成に基づいて設定され、またそのログ出力を親のHandlerに送信するように設定されます。これはLogManagerのグローバル名前空間に登録されます。
注: LogManagerは新しく作成されたロガーへの弱参照しか保持できません。指定した名前で以前に作成されたロガーは、ロガーへの強い参照がない場合に、いつでもガベージ・コレクトされる可能性があることを理解することが重要です。特に、このことは、getLogger("MyLogger", ...).log(...)
などの2つの連続した呼出しで、プログラムのどこにも「MyLogger」という名前のロガーへの強い参照がない場合、「MyLogger」という名前の別のロガー・オブジェクトが使われる可能性があることを意味します。
指定されたLoggerがすでに存在しており、それがローカリゼーション・リソース・バンドルをまだ持っていない場合は、指定されたリソース・バンドル名が使用されます。指定されたLoggerがすでに存在しており、それが異なるリソース・バンドル名を持っている場合は、IllegalArgumentExceptionがスローされます。
name
- ロガーの名前。これはドットで区切られた名前にすべきであり、通常はjava.netやjavax.swingなど、サブシステムのパッケージ名またはクラス名に基づいた名前にすべきであるresourceBundleName
- このロガーのメッセージのローカライズに使用されるResourceBundleの名前。ローカリゼーションを必要とするメッセージが存在しない場合はnull
も可能。MissingResourceException
- resourceBundleNameがnull以外であり、それに対応するリソースが見つからない場合。IllegalArgumentException
- Loggerがすでに存在しており、異なるリソース・バンドル名を使用している場合。または、resourceBundleName
がnull
だが、名前付きロガーにリソース・バンドルが設定されている場合。NullPointerException
- 名前がnullの場合。public static Logger getAnonymousLogger()
このファクトリ・メソッドの主な目的は、アプレットからの使用です。結果として得られるLoggerは匿名であるため、作成元のクラスによって非公開の状態に保たれます。これにより、通常のセキュリティ・チェックを行う必要がなくなり、信頼できないアプレット・コードがLoggerの制御状態を更新できるようになります。たとえば、アプレットは、匿名のLogger上でsetLevelやaddHandlerを実行できます。
新しいロガーは、匿名ではありますが、ルート・ロガー("")を親に持つように構成されます。これは、そのロガーがデフォルトで、実効レベルとハンドラをルート・ロガーから継承することを意味します。setParent
メソッドによってその親を変更するには、そのメソッドによって指定されているセキュリティ・アクセス権も必要です。
public static Logger getAnonymousLogger(String resourceBundleName)
このファクトリ・メソッドの主な目的は、アプレットからの使用です。結果として得られるLoggerは匿名であるため、作成元のクラスによって非公開の状態に保たれます。これにより、通常のセキュリティ・チェックを行う必要がなくなり、信頼できないアプレット・コードがLoggerの制御状態を更新できるようになります。たとえば、アプレットは、匿名のLogger上でsetLevelやaddHandlerを実行できます。
新しいロガーは、匿名ではありますが、ルート・ロガー("")を親に持つように構成されます。これは、そのロガーがデフォルトで、実効レベルとハンドラをルート・ロガーから継承することを意味します。setParent
メソッドによってその親を変更するには、そのメソッドによって指定されているセキュリティ・アクセス権も必要です。
resourceBundleName
- このロガーのメッセージのローカライズに使用されるResourceBundleの名前。ローカリゼーションを必要とするメッセージが存在しない場合はnullも可能MissingResourceException
- resourceBundleNameがnull以外であり、それに対応するリソースが見つからない場合。public ResourceBundle getResourceBundle()
setResourceBundle
メソッドによって設定されたか、現在のデフォルトのロケールでgetLogger
ファクトリ・メソッドによって設定されたリソース・バンドル名からマッピングされたResourceBundle
を返します。null
の場合、Loggerは親から継承したリソース・バンドルまたはリソース・バンドル名を使用することに注意してください。null
の場合がある)public String getResourceBundleName()
getLogger
ファクトリ・メソッドによって指定された名前か、またはsetResourceBundle
メソッドによって設定されたResourceBundleの基底名のいずれかです。null
の場合、Loggerは親から継承したリソース・バンドルまたはリソース・バンドル名を使用することに注意してください。null
の場合がある)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, Supplier<String> msgSupplier)
指定されたメッセージ・レベルでロガーが現在使用可能な場合、メッセージが指定されたサプライヤ関数を呼び出して構築され、登録されているすべての出力ハンドラ・オブジェクトに転送されます。
level
- メッセージ・レベル識別子の1つ。たとえば、SEVEREmsgSupplier
- 呼び出されると、目的のログ・メッセージを生成する関数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
- ログ・メッセージに関連したThrowable。public void log(Level level, Throwable thrown, Supplier<String> msgSupplier)
指定されたメッセージ・レベルでロガーが現在使用可能な場合、メッセージが指定されたサプライヤ関数を呼び出して構築されます。次に、メッセージと指定されたThrowable
がLogRecord
に格納され、これが登録されているすべての出力ハンドラに転送されます。
thrown引数は、LogRecordのparametersプロパティにではなく、LogRecordのthrownプロパティに格納されることに注意してください。このため、それは出力Formatterによって特別な方法で処理され、LogRecordのmessageプロパティに対するフォーマット処理パラメータとはみなされません。
level
- メッセージ・レベル識別子の1つ。たとえば、SEVEREthrown
- ログ・メッセージに関連したThrowable。msgSupplier
- 呼び出されると、目的のログ・メッセージを生成する関数public 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, Supplier<String> msgSupplier)
指定されたメッセージ・レベルでロガーが現在使用可能な場合、メッセージが指定されたサプライヤ関数を呼び出して構築され、登録されているすべての出力ハンドラ・オブジェクトに転送されます。
level
- メッセージ・レベル識別子の1つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名msgSupplier
- 呼び出されると、目的のログ・メッセージを生成する関数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
- ログ・メッセージに関連したThrowable。public void logp(Level level, String sourceClass, String sourceMethod, Throwable thrown, Supplier<String> msgSupplier)
指定されたメッセージ・レベルでロガーが現在使用可能な場合、メッセージが指定されたサプライヤ関数を呼び出して構築されます。次に、メッセージと指定されたThrowable
がLogRecord
に格納され、これが登録されているすべての出力ハンドラに転送されます。
thrown引数は、LogRecordのparametersプロパティにではなく、LogRecordのthrownプロパティに格納されることに注意してください。このため、それは出力Formatterによって特別な方法で処理され、LogRecordのmessageプロパティに対するフォーマット処理パラメータとはみなされません。
level
- メッセージ・レベル識別子の1つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名thrown
- ログ・メッセージに関連したThrowable。msgSupplier
- 呼び出されると、目的のログ・メッセージを生成する関数@Deprecated public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg)
logrb(java.util.logging.Level, java.lang.String, java.lang.String, java.util.ResourceBundle, java.lang.String, java.lang.Object...)
を使用してください。指定されたメッセージ・レベルで現在ロガーが使用可能な場合、指定されたメッセージは登録されたすべての出力Handlerオブジェクトに転送されます。
msg文字列は、指定されたリソース・バンドルを使ってローカライズされます。リソース・バンドル名がnull、空のStringのいずれかであるか無効である場合、msg文字列はローカライズされません。
level
- メッセージ・レベル識別子の1つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名bundleName
- msgをローカライズするためのリソース・バンドル名。nullも可能msg
- 文字列メッセージ、またはメッセージ・カタログのキー@Deprecated public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object param1)
logrb(java.util.logging.Level, java.lang.String, java.lang.String, java.util.ResourceBundle, java.lang.String, java.lang.Object...)
を使用してください。指定されたメッセージ・レベルで現在ロガーが使用可能な場合、対応するLogRecordが作成され、登録されたすべての出力Handlerオブジェクトに転送されます。
msg文字列は、指定されたリソース・バンドルを使ってローカライズされます。リソース・バンドル名がnull、空のStringのいずれかであるか無効である場合、msg文字列はローカライズされません。
level
- メッセージ・レベル識別子の1つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名bundleName
- msgをローカライズするためのリソース・バンドル名。nullも可能msg
- 文字列メッセージ、またはメッセージ・カタログのキーparam1
- ログ・メッセージのパラメータ。@Deprecated public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Object[] params)
logrb(java.util.logging.Level, java.lang.String, java.lang.String, java.util.ResourceBundle, java.lang.String, java.lang.Object...)
を使用してください。指定されたメッセージ・レベルで現在ロガーが使用可能な場合、対応するLogRecordが作成され、登録されたすべての出力Handlerオブジェクトに転送されます。
msg文字列は、指定されたリソース・バンドルを使ってローカライズされます。リソース・バンドル名がnull、空のStringのいずれかであるか無効である場合、msg文字列はローカライズされません。
level
- メッセージ・レベル識別子の1つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名bundleName
- msgをローカライズするためのリソース・バンドル名。nullも可能。msg
- 文字列メッセージ、またはメッセージ・カタログのキーparams
- メッセージのパラメータの配列public void logrb(Level level, String sourceClass, String sourceMethod, ResourceBundle bundle, String msg, Object... params)
指定されたメッセージ・レベルで現在ロガーが使用可能な場合、対応するLogRecordが作成され、登録されたすべての出力Handlerオブジェクトに転送されます。
msg
文字列は、指定されたリソース・バンドルを使ってローカライズされます。リソース・バンドルがnull
の場合、msg
文字列はローカライズされません。
level
- メッセージ・レベル識別子の1つ。たとえば、SEVEREsourceClass
- ロギング要求を発行したクラスの名前sourceMethod
- ロギング要求を発行したメソッドの名前bundle
- msg
をローカライズするためのリソース・バンドル、null
も可能。msg
- 文字列メッセージ、またはメッセージ・カタログのキーparams
- メッセージのパラメータ(オプション、なしの場合もある)。@Deprecated public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msg, Throwable thrown)
logrb(java.util.logging.Level, java.lang.String, java.lang.String, java.util.ResourceBundle, java.lang.String, java.lang.Throwable)
を使用してください。指定されたメッセージ・レベルで現在ロガーが使用可能な場合、指定された引数が、登録されたすべての出力ハンドラに転送されたLogRecordに格納されます。
msg文字列は、指定されたリソース・バンドルを使ってローカライズされます。リソース・バンドル名がnull、空のStringのいずれかであるか無効である場合、msg文字列はローカライズされません。
thrown引数は、LogRecordのparametersプロパティにではなく、LogRecordのthrownプロパティに格納されることに注意してください。このため、それは出力Formatterによって特別な方法で処理され、LogRecordのmessageプロパティに対するフォーマット処理パラメータとはみなされません。
level
- メッセージ・レベル識別子の1つ。たとえば、SEVEREsourceClass
- ロギングの要求を発行したクラス名sourceMethod
- ロギングの要求を発行したメソッド名bundleName
- msgをローカライズするためのリソース・バンドル名。nullも可能msg
- 文字列メッセージ、またはメッセージ・カタログのキーthrown
- ログ・メッセージに関連したThrowable。public void logrb(Level level, String sourceClass, String sourceMethod, ResourceBundle bundle, String msg, Throwable thrown)
指定されたメッセージ・レベルで現在ロガーが使用可能な場合、指定された引数が、登録されたすべての出力ハンドラに転送されたLogRecordに格納されます。
msg
文字列は、指定されたリソース・バンドルを使ってローカライズされます。リソース・バンドルがnull
の場合、msg
文字列はローカライズされません。
thrown引数は、LogRecordのparametersプロパティにではなく、LogRecordのthrownプロパティに格納されることに注意してください。このため、それは出力Formatterによって特別な方法で処理され、LogRecordのmessageプロパティに対するフォーマット処理パラメータとはみなされません。
level
- メッセージ・レベル識別子の1つ。たとえば、SEVEREsourceClass
- ロギング要求を発行したクラスの名前sourceMethod
- ロギング要求を発行したメソッドの名前bundle
- msg
をローカライズするためのリソース・バンドル、null
も可能msg
- 文字列メッセージ、またはメッセージ・カタログのキーthrown
- ログ・メッセージに関連したThrowable。public 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
- スローされたThrowable。public 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 severe(Supplier<String> msgSupplier)
SEVERE メッセージ・レベルで現在ロガーが使用可能な場合、メッセージが指定されたサプライヤ関数を呼び出して構築され、登録されたすべての出力Handlerオブジェクトに転送されます。
msgSupplier
- 呼び出されると、目的のログ・メッセージを生成する関数public void warning(Supplier<String> msgSupplier)
WARNING メッセージ・レベルで現在ロガーが使用可能な場合、メッセージが指定されたサプライヤ関数を呼び出して構築され、登録されたすべての出力Handlerオブジェクトに転送されます。
msgSupplier
- 呼び出されると、目的のログ・メッセージを生成する関数public void info(Supplier<String> msgSupplier)
INFO メッセージ・レベルで現在ロガーが使用可能な場合、メッセージが指定されたサプライヤ関数を呼び出して構築され、登録されたすべての出力Handlerオブジェクトに転送されます。
msgSupplier
- 呼び出されると、目的のログ・メッセージを生成する関数public void config(Supplier<String> msgSupplier)
CONFIG メッセージ・レベルで現在ロガーが使用可能な場合、メッセージが指定されたサプライヤ関数を呼び出して構築され、登録されたすべての出力Handlerオブジェクトに転送されます。
msgSupplier
- 呼び出されると、目的のログ・メッセージを生成する関数public void fine(Supplier<String> msgSupplier)
FINE メッセージ・レベルで現在ロガーが使用可能な場合、メッセージが指定されたサプライヤ関数を呼び出して構築され、登録されたすべての出力Handlerオブジェクトに転送されます。
msgSupplier
- 呼び出されると、目的のログ・メッセージを生成する関数public void finer(Supplier<String> msgSupplier)
FINER メッセージ・レベルで現在ロガーが使用可能な場合、メッセージが指定されたサプライヤ関数を呼び出して構築され、登録されたすべての出力Handlerオブジェクトに転送されます。
msgSupplier
- 呼び出されると、目的のログ・メッセージを生成する関数public void finest(Supplier<String> msgSupplier)
FINEST メッセージ・レベルで現在ロガーが使用可能な場合、メッセージが指定されたサプライヤ関数を呼び出して構築され、登録されたすべての出力Handlerオブジェクトに転送されます。
msgSupplier
- 呼び出されると、目的のログ・メッセージを生成する関数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
- ログHandlerSecurityException
- セキュリティ・マネージャが存在し、このロガーが匿名でなく、呼出し元がLoggingPermission("control")を持っていない場合。public void removeHandler(Handler handler) throws SecurityException
指定されたHandlerが見つからないかnullの場合は何も行わずに復帰します。
handler
- ログHandlerSecurityException
- セキュリティ・マネージャが存在し、このロガーが匿名でなく、呼出し元がLoggingPermission("control")を持っていない場合。public Handler[] getHandlers()
public void setUseParentHandlers(boolean useParentHandlers)
useParentHandlers
- 出力がロガーの親に送信される場合はtrue。SecurityException
- セキュリティ・マネージャが存在し、このロガーが匿名でなく、呼出し元がLoggingPermission("control")を持っていない場合。public boolean getUseParentHandlers()
public void setResourceBundle(ResourceBundle bundle)
bundle
- このロガーが使用するリソース・バンドル。NullPointerException
- 指定されたバンドルがnull
の場合。IllegalArgumentException
- 指定されたバンドルに基底名がない場合、またはこのロガーにすでにリソース・バンドルが設定されているが、指定されたバンドルの基底名が異なる場合。SecurityException
- セキュリティ・マネージャが存在し、このロガーが匿名でなく、呼出し元がLoggingPermission("control")を持っていない場合。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")を持っていない場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.