Package nablarch.core.log
Class LoggerManager
java.lang.Object
nablarch.core.log.LoggerManager
ログ出力機能の全体を取りまとめるクラス。
クラスローダ毎に設定で指定された
ログ出力機能の実装に依存する初期処理、終了処理、
クラスローダ毎に
プロパティファイルのパスは、システムプロパティを使用して、”nablarch.log.filePath”をキーにファイルパスを指定する。
このファイルパスは、クラスパスとファイルシステム上のパスのどちらを指定しても良い。
ファイルパスの指定方法は、
システムプロパティを指定しなかった場合は、クラスパス直下のlog.propertiesを使用する。
プロパティファイルが存在しない場合は、例外を送出する。
ログの出力先によってはリソースの確保と解放が必要となるため、本クラスは初期処理と終了処理を行う。
初期処理は、初回の
終了処理は、フレームワーク側で実行するタイミングを判断できないので、 ログの出力要求を行うアプリケーション毎にアプリケーションの終了時に
アプリケーションの終了時とは、例えばWebアプリケーションの場合であれば、 ServletContextListener#contextDestroyedメソッドが呼ばれるタイミングを想定している。
クラスローダ毎に設定で指定された
LoggerFactory
の生成、保持を行う。ログ出力機能の実装に依存する初期処理、終了処理、
Logger
の生成はLoggerFactory
に委譲する。クラスローダ毎に
LoggerFactory
を保持するのは、クラスローダ階層により生じる問題に対応するためである。
使用するLoggerFactory
は、プロパティファイルに設定する。プロパティファイルのパスは、システムプロパティを使用して、”nablarch.log.filePath”をキーにファイルパスを指定する。
このファイルパスは、クラスパスとファイルシステム上のパスのどちらを指定しても良い。
ファイルパスの指定方法は、
FileUtil.getResource(String)
を参照すること。システムプロパティを指定しなかった場合は、クラスパス直下のlog.propertiesを使用する。
プロパティファイルが存在しない場合は、例外を送出する。
ログの出力先によってはリソースの確保と解放が必要となるため、本クラスは初期処理と終了処理を行う。
初期処理は、初回の
Logger
の取得が行われるタイミングで本クラスが内部的に実行する。終了処理は、フレームワーク側で実行するタイミングを判断できないので、 ログの出力要求を行うアプリケーション毎にアプリケーションの終了時に
terminate()
メソッドを呼び出すこと。アプリケーションの終了時とは、例えばWebアプリケーションの場合であれば、 ServletContextListener#contextDestroyedメソッドが呼ばれるタイミングを想定している。
- Author:
- Kiyohito Itoh
- See Also:
-
Method Details
-
terminate
ログ出力の終了処理を行う。
クラスローダに紐付く全てのオブジェクトを解放する。- See Also:
-
get
- Parameters:
clazz
- ロガー名に使用するクラス。クラスのFQCNをロガー名に使用する。- Returns:
- ロガー
-
get
- Parameters:
name
- ロガー名- Returns:
- ロガー
-