モジュール java.base
パッケージ java.lang

クラスSystem.LoggerFinder

java.lang.Object
java.lang.System.LoggerFinder
含まれているクラス:
System

public abstract static class System.LoggerFinder extends Object
LoggerFinderサービスは、使用する基礎となるフレームワークに対するロガーの作成、管理および構成を担当します。 ロガー・ファインダは、ゼロ引数のコンストラクタを持ち、このクラスで定義された抽象メソッドを実装する、このクラスの具体的な実装です。 ロガー・ファインダから返されたロガーは、このプロバイダがサポートするロギング・バックエンドにログ・メッセージをルーティングできます。 Java Runtimeの呼び出しによって、次のようにロードされる単一のシステム全体のLoggerFinderインスタンスが維持されます:
  • 最初に、「システム・クラス・ローダー」を使用してServiceLoader機能を使用してカスタムLoggerFinderプロバイダを検索します。
  • LoggerFinderプロバイダが見つからない場合は、システムのデフォルトのLoggerFinder実装が使用されます。

アプリケーションは、System.LoggerFinderサービスの実装を指定および宣言するだけで、ロギング・バックエンド「java.loggingモジュールが存在する場合でも」を置き換えることができます。

デフォルトの実装

java.loggingモジュールが存在する場合、システム・デフォルトのLoggerFinder実装では、バックエンド・フレームワークとしてjava.util.loggingが使用されます。 ログ・メッセージをjava.util.logging.Loggerにルーティングするloggerインスタンスを返します。 それ以外の場合、java.loggingが存在しない場合、デフォルトの実装は、INFOレベル以上のログ・メッセージをコンソール(System.err)にルーティングする単純なロガー・インスタンスを返します。

ロギング構成

LoggerFinderファクトリ・メソッドから取得したLoggerインスタンスは、アプリケーションによって直接構成できません。 構成は基礎となるロギング・バックエンドの責任であり、通常は、そのバックエンドに固有のAPIを使用する必要があります。

バックエンドとしてjava.util.loggingを使用するデフォルトのLoggerFinder実装については、ロギング構成についてはjava.util.loggingを参照してください。 java.loggingモジュールが存在しないときに単純なロガーを返すデフォルトのLoggerFinder実装の場合、構成は実装に依存します。

通常、ロギング・フレームワークを使用するアプリケーションは、そのフレームワークによって定義された(またはサポートされている)というロガー・ファサードを介してメッセージをログに記録します。 外部フレームワークを使用するアプリケーションは、そのフレームワークに関連付けられているファサードを介してログに記録する必要があります。

メッセージをログに記録する必要があるシステム・クラスは、通常、アプリケーションで選択されたロギング・フレームワークにメッセージをルーティングするためにSystem.Loggerインスタンスを取得します。

ログ・メッセージを生成するためにロガーのみが必要なライブラリおよびクラスは、LoggerFinderサービスの特定の実装に依存するため、ロガーを単独で構成しようとしないでください。

また、セキュリティ・マネージャが存在する場合、システム・クラスに提供されるロガーは、権限を必要とせずにロギング・バックエンドを介して直接構成できません。
具体的なLoggerFinder実装のプロバイダは、これらのロガーが適切な権限チェックなしで信頼できないコードによって構成されないようにする必要があります。このようなロガーに対して実行される構成は、通常、同じJavaランタイム内のすべてのアプリケーションに影響します。

メッセージレベルとバックエンド・レベルへのマッピング

ロガー・ファインダは、 System.Logger.Levelから、それが使用するロギング・バックエンドでサポートされているレベルへのマッピングを担当します。
バックエンドとしてjava.util.loggingを使用するデフォルトのLoggerFinderは、System.Loggerレベルを対応する重大度のjava.util.loggingレベルにマップ - Logger.Levelを参照してください。

導入されたバージョン:
9
関連項目: