| Interface | Description | 
|---|---|
| Logger | 
 ログを出力するインタフェース。 
ログ出力機能の実装毎に本インタフェースの実装クラスを作成する。  | 
| LoggerFactory | 
Loggerを生成するインタフェース。ログ出力機能の実装毎に本インタフェースの実装クラスを作成する。 LoggerFactoryは、 LoggerManagerにより生成、管理される。LoggerManagerは、初期処理においてLoggerFactoryの生成後にLoggerFactory.initialize(LogSettings)メソッド、
 終了処理においてLoggerFactoryを破棄する際にLoggerFactory.terminate()メソッドをそれぞれ1度だけ呼び出すので、
 LoggerFactoryの初期処理と終了処理は複数スレッドから呼ばれることはない。 | 
| LogItem<CTX> | 
 ログの出力項目を取得するインタフェース。 
 | 
| LogUtil.MapValueEditor | 
 マップの値を編集するインタフェース。 
マップをダンプする処理( LogUtil.dumpMap(Map, String, MapValueEditor))で使用する。 | 
| LogUtil.ObjectCreator<T> | 
 クラスローダに紐付くオブジェクトを生成するインタフェース。 
 | 
| Class | Description | 
|---|---|
| DateItemSupport<CTX> | 
 日時を取得する出力項目の実装をサポートするクラス。 
 | 
| FixedStringItem | 
 固定文字列を取得するクラス。 
 | 
| LoggerManager | 
 ログ出力機能の全体を取りまとめるクラス。 
クラスローダ毎に設定で指定された LoggerFactoryの生成、保持を行う。ログ出力機能の実装に依存する初期処理、終了処理、 Loggerの生成はLoggerFactoryに委譲する。クラスローダ毎に LoggerFactoryを保持するのは、クラスローダ階層により生じる問題に対応するためである。
 
 使用するLoggerFactoryは、プロパティファイルに設定する。プロパティファイルのパスは、システムプロパティを使用して、”nablarch.log.filePath”をキーにファイルパスを指定する。 このファイルパスは、クラスパスとファイルシステム上のパスのどちらを指定しても良い。 ファイルパスの指定方法は、 FileUtil.getResource(String)を参照すること。システムプロパティを指定しなかった場合は、クラスパス直下のlog.propertiesを使用する。 プロパティファイルが存在しない場合は、例外を送出する。 ログの出力先によってはリソースの確保と解放が必要となるため、本クラスは初期処理と終了処理を行う。 初期処理は、初回の Loggerの取得が行われるタイミングで本クラスが内部的に実行する。終了処理は、フレームワーク側で実行するタイミングを判断できないので、 ログの出力要求を行うアプリケーション毎にアプリケーションの終了時に LoggerManager.terminate()メソッドを呼び出すこと。アプリケーションの終了時とは、例えばWebアプリケーションの場合であれば、 ServletContextListener#contextDestroyedメソッドが呼ばれるタイミングを想定している。  | 
| LogSettings | 
 ログ出力機能の設定をロードして保持するクラス。 
 | 
| LogUtil | 
 ログ出力の実装を助けるユーティリティ。 
 | 
| LogUtil.BasicMapValueEditor | 
 マップの値を編集するインタフェースの基本実装クラス。 
 | 
| LogUtil.MaskingMapValueEditor | 
 マップの値をマスキングするクラス。 
 | 
| MaskingMapItemSupport<T> | 
 マスキング済みのマップを取得する 
LogItemの実装をサポートするクラス。 | 
| NablarchLogger | 
 SLF4Jのロガーを実装したクラス。
 ログ出力をNablarchのロガーに委譲する。 
 | 
| NablarchLoggerFactory | 
 SLF4Jのロガーファクトリを実装したクラス。 
 |