Package nablarch.core.log.basic
Class BasicLoggerFactory
java.lang.Object
nablarch.core.log.basic.BasicLoggerFactory
- All Implemented Interfaces:
LoggerFactory
LoggerFactoryの基本実装クラス。フレームワーク実装の設定は、
LoggerManagerが読み込むプロパティファイルに記述する。プロパティファイルの設定は、システムプロパティを使用して同じキー名に値を指定することで上書きすることができる。
プロパティファイルの記述ルールを下記に示す。
- writerNames
- 使用する全ての
LogWriterの名称。必須。
複数指定する場合はカンマ区切り。
「”writer.” + <ここで指定したLogWriterの名称>」をキーのプレフィックスにして、LogWriter毎の設定を行う。 - writer.<
LogWriterの名称>.className LogWriterのクラス名。必須。
LogWriterを実装したクラスのFQCNを指定する。- writer.<
LogWriterの名称>.<プロパティ名> LogWriter毎のプロパティに設定する値。
設定内容は、使用するLogWriterのJavadocを参照すること。- availableLoggersNamesOrder
- 使用する全ての
Logger設定の名称。必須。
複数指定する場合はカンマ区切り。
「”loggers.” + <ここで指定されたLogger設定の名称>」をキーのプレフィックスに使用して、Logger設定毎の設定を行う。 - loggers.<
Logger設定の名称>.nameRegex Logger名とのマッチングに使用する正規表現。必須。
正規表現は、Logger設定の対象となるLoggerを絞り込むために使用する。
Loggerの取得時に指定されたLogger名 (つまりLoggerManager#getメソッドの引数に指定されたLogger名)に対してマッチングを行う。- logger.<
Logger設定の名称>.level LogLevelの名称。必須。
LogLevelの名称を指定する。
ここで指定したレベル以上のログを全て出力する。- logger.<
Logger設定の名称>.writerNames LogWriterの名称。必須。
複数指定する場合はカンマ区切り。
ここで指定した全てのLogWriterに対してログの書き込みを行う。
Loggerの取得では、ログ出力を行うクラスが指定したLogger名に対して、
ここに記述した順番でLoggerのマッチングを行い、最初にマッチしたLoggerを返す。そのため、availableLoggersNamesOrderプロパティは、より限定的な正規表現を指定した
Loggerから順に記述すること。初期処理完了後に、各
LogWriterに対して、出力されるログレベルの書き込みを行う。初期処理完了後の出力例を下記に示す。
2010-09-14 15:26:32.345 nablarch.core.log.basic.BasicLoggerFactory INFO [main] user_id[null] request_id[null] initialized.
NAME REGEX = [MONITOR] LEVEL = [ERROR]
NAME REGEX = [tis\.w8\.web\.handler\.HttpAccessLogHandler] LEVEL = [INFO]
NAME REGEX = [.*] LEVEL = [WARN]
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidinitialize(LogSettings settings) 初期処理を行う。
ログの出力先に応じたリソースの確保などを行う。void終了処理を行う。
ログの出力先に応じて確保しているリソースの解放などを行う。
-
Constructor Details
-
BasicLoggerFactory
public BasicLoggerFactory()
-
-
Method Details
-
initialize
初期処理を行う。
ログの出力先に応じたリソースの確保などを行う。
ログ出力の設定に応じて、インスタンスの生成と初期化を行う。
設定に不備がある場合はIllegalArgumentExceptionをスローする。
初期処理完了後に、各LogWriterに対して、出力されるログレベルの書き込みを行う。- Specified by:
initializein interfaceLoggerFactory- Parameters:
settings- ログ出力の設定
-
terminate
public void terminate()終了処理を行う。
ログの出力先に応じて確保しているリソースの解放などを行う。
全てのLogWriterの終了処理を行う。
LogWriterの終了処理で例外が発生した場合は、発生した例外をキャッチし、標準エラーにスタックトレースを出力する。
発生した例外の再スローは行わない。- Specified by:
terminatein interfaceLoggerFactory
-
get
Loggerを取得する。
Logger名に対応するLoggerが見つからない場合は、何も処理しないLoggerを返し、 nullを返したり、例外を送出しないこと。
availableLoggersNamesOrderプロパティで指定された順番にLogger名のマッチングを行い、最初にマッチしたLoggerを返す。
マッチするLoggerが見つからない場合は、何もしないLoggerを返す。- Specified by:
getin interfaceLoggerFactory- Parameters:
name-Logger名- Returns:
Logger名に対応するLogger
-