Class LoggerManager

java.lang.Object
nablarch.core.log.LoggerManager

public final class LoggerManager extends Object
ログ出力機能の全体を取りまとめるクラス。

クラスローダ毎に設定で指定されたLoggerFactoryの生成、保持を行う。
ログ出力機能の実装に依存する初期処理、終了処理、Loggerの生成はLoggerFactoryに委譲する。
クラスローダ毎にLoggerFactoryを保持するのは、クラスローダ階層により生じる問題に対応するためである。

使用するLoggerFactoryは、プロパティファイルに設定する。
プロパティファイルのパスは、システムプロパティを使用して、”nablarch.log.filePath”をキーにファイルパスを指定する。
このファイルパスは、クラスパスとファイルシステム上のパスのどちらを指定しても良い。
ファイルパスの指定方法は、FileUtil.getResource(String)を参照すること。
システムプロパティを指定しなかった場合は、クラスパス直下のlog.propertiesを使用する。
プロパティファイルが存在しない場合は、例外を送出する。

ログの出力先によってはリソースの確保と解放が必要となるため、本クラスは初期処理と終了処理を行う。
初期処理は、初回のLoggerの取得が行われるタイミングで本クラスが内部的に実行する。
終了処理は、フレームワーク側で実行するタイミングを判断できないので、 ログの出力要求を行うアプリケーション毎にアプリケーションの終了時にterminate()メソッドを呼び出すこと。
アプリケーションの終了時とは、例えばWebアプリケーションの場合であれば、 ServletContextListener#contextDestroyedメソッドが呼ばれるタイミングを想定している。

Author:
Kiyohito Itoh
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    static Logger
    get(Class<?> clazz)
    ロガーを取得する。

    指定されたクラスのFQCNを指定してget(String)メソッドを呼び出す。
    static Logger
    get(String name)
    ロガーを取得する。

    クラスローダに紐付くLoggerFactoryから取得したロガーを返す。

    ロガー名に対応するロガーが見つからない場合は、何も処理しないロガーを返す。
    static void
    ログ出力の終了処理を行う。

    クラスローダに紐付く全てのオブジェクトを解放する。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • terminate

      @Published(tag="architect") public static void terminate()
      ログ出力の終了処理を行う。

      クラスローダに紐付く全てのオブジェクトを解放する。
      See Also:
    • get

      @Published public static Logger get(Class<?> clazz)
      ロガーを取得する。

      指定されたクラスのFQCNを指定してget(String)メソッドを呼び出す。
      Parameters:
      clazz - ロガー名に使用するクラス。クラスのFQCNをロガー名に使用する。
      Returns:
      ロガー
    • get

      @Published public static Logger get(String name)
      ロガーを取得する。

      クラスローダに紐付くLoggerFactoryから取得したロガーを返す。

      ロガー名に対応するロガーが見つからない場合は、何も処理しないロガーを返す。
      Parameters:
      name - ロガー名
      Returns:
      ロガー