Package nablarch.core.log.basic
Class LogWriterSupport
java.lang.Object
nablarch.core.log.basic.LogWriterSupport
- All Implemented Interfaces:
LogWriter
- Direct Known Subclasses:
FileLogWriter
,StandardOutputLogWriter
@Published(tag="architect")
public abstract class LogWriterSupport
extends Object
implements LogWriter
LogWriter
の実装をサポートするクラス。このクラスでは、下記の機能を提供する。
LogLevel
に応じた出力制御LogFormatter
を使用したログのフォーマット
プロパティファイルの記述ルールを下記に示す。
- writer.<
LogWriter
の名称>.level LogLevel
の名称。オプション。
LogLevel
の名称を指定する。
ここで指定したレベル以上のログを全て出力する。 指定がない場合はレベルに応じた出力制御を行わず、全てのレベルのログを出力する。- writer.<
LogWriter
の名称>.formatter.className LogWriter
で使用するLogFormatter
のクラス名。
LogFormatter
を実装したクラスのFQCNを指定する。 指定がない場合はBasicLogFormatter
を使用する。- writer.<
LogWriter
の名称>.formatter.<プロパティ名> LogFormatter
毎のプロパティに設定する値。
設定内容は、使用するLogFormatter
のJavadocを参照すること。
- Author:
- Kiyohito Itoh
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected LogFormatter
createLogFormatter
(ObjectSettings settings) 設定を使用してLogFormatter
を生成する。protected LogFormatter
LogFormatter
を取得する。protected String
getName()
設定で指定されたLogWriter
の名称を取得する。protected String
設定情報を取得する。
設定情報のフォーマットを下記に示す。
WRITER NAME = [<LogWriter
の名称>]
WRITER CLASS = [<LogWriter
のクラス名>]
FORMATTER CLASS = [<LogFormatter
のクラス名>]
LEVEL = [<ログの出力制御の基準とするLogLevel
>]void
initialize
(ObjectSettings settings) 初期処理を行う。
ログの出力先に応じたリソースの確保などを行う。boolean
needsToWrite
(LogContext context) 現在の設定から、指定されたログエントリを出力するか否かを返す。protected void
onInitialize
(ObjectSettings settings) 初期処理を行う。
ログの出力先に応じたリソースの確保などを実装する。
デフォルト実装では何もしない。protected void
終了処理を行う。
ログの出力先に応じて確保しているリソースの解放などを実装する。
デフォルト実装では何もしない。protected abstract void
フォーマット済みのログを出力先に書き込む。void
終了処理を行う。
ログの出力先に応じて確保しているリソースの解放などを行う。void
write
(LogContext context) フォーマット済みのログを出力先に書き込む。
設定でLogLevel
が指定されている場合は、有効なレベルの場合のみonWrite(String)
メソッドを呼び出す。
有効なレベルのログでない場合は、何も処理しない。
-
Constructor Details
-
LogWriterSupport
public LogWriterSupport()
-
-
Method Details
-
initialize
- Specified by:
initialize
in interfaceLogWriter
- Parameters:
settings
- LogWriterの設定
-
createLogFormatter
設定を使用してLogFormatter
を生成する。- Parameters:
settings
-LogFormatter
の設定- Returns:
- 設定を使用して生成した
LogFormatter
。指定がない場合はnull
-
onInitialize
初期処理を行う。
ログの出力先に応じたリソースの確保などを実装する。
デフォルト実装では何もしない。- Parameters:
settings
-LogWriter
の設定内容
-
terminate
public void terminate()終了処理を行う。
ログの出力先に応じて確保しているリソースの解放などを行う。 -
onTerminate
protected void onTerminate()終了処理を行う。
ログの出力先に応じて確保しているリソースの解放などを実装する。
デフォルト実装では何もしない。 -
write
フォーマット済みのログを出力先に書き込む。
設定でLogLevel
が指定されている場合は、有効なレベルの場合のみonWrite(String)
メソッドを呼び出す。
有効なレベルのログでない場合は、何も処理しない。- Specified by:
write
in interfaceLogWriter
- Parameters:
context
-LogContext
-
needsToWrite
現在の設定から、指定されたログエントリを出力するか否かを返す。- Parameters:
context
- ログエントリオブジェクト- Returns:
- ログを出力する場合はtrue
-
onWrite
フォーマット済みのログを出力先に書き込む。- Parameters:
formattedMessage
- フォーマット済みのログ
-
getSettings
設定情報を取得する。
設定情報のフォーマットを下記に示す。
WRITER NAME = [<LogWriter
の名称>]
WRITER CLASS = [<LogWriter
のクラス名>]
FORMATTER CLASS = [<LogFormatter
のクラス名>]
LEVEL = [<ログの出力制御の基準とするLogLevel
>]- Returns:
- 設定情報
-
getName
設定で指定されたLogWriter
の名称を取得する。- Returns:
- 設定で指定された
LogWriter
の名称
-
getFormatter
LogFormatter
を取得する。- Returns:
LogFormatter
-