Package nablarch.core.log.basic
Class BasicLogFormatter
java.lang.Object
nablarch.core.log.basic.BasicLogFormatter
- All Implemented Interfaces:
LogFormatter
LogFormatter
の基本実装クラス。BasicLogFormatterクラスの特徴を下記に示す。
- ログに最低限必要な情報(日時、リクエストID、ユーザIDなど)を出力できる。
- アプリケーションを起動しているプロセスを識別するために、システムプロパティで指定されたプロセス名をログに出力できる。
- オブジェクトを指定してフィールド情報を出力できる。
- 例外オブジェクトを指定してスタックトレースを出力できる。
- フォーマットを設定のみで変更することができる。
$date$ このログ出力を要求した時点の日時。 $logLevel$ このログ出力のログレベル。 デフォルトはLogLevel列挙型の名称を文言に使用する。 文言はプロパティファイルの設定で変更することができる。 $loggerName$ このログ出力が対応するロガー設定の名称。 このログ出力を呼び出した箇所に関わらず、プロパティファイル(log.properties)に記載したロガー名となる。 $runtimeLoggerName$ 実行時に、フォーマット指定が無い場合に使用するフォーマットを下記に示す。LoggerManager
からロガー取得に指定した名称。 このログ出力を呼び出した際にLoggerManager.get(Class)
で指定したクラス名 またはLoggerManager.get(String)
で指定した名称となる。 $bootProcess$ 起動プロセスを識別する名前。 起動プロセスは、システムプロパティ"nablarch.bootProcess"から取得する。 指定がない場合はブランク。 $processingSystem$ 処理方式を識別する名前。 処理方式は、プロパティファイル("nablarch.processingSystem")から取得する。 指定がない場合はブランク。 $requestId$ このログ出力を要求した時点のリクエストID。 $executionId$ このログ出力を要求した時点の実行時ID $userId$ このログ出力を要求した時点のログインユーザのユーザID。 $message$ このログ出力のメッセージ。 指定がない場合はブランク。 $information$ オプション情報に指定されたオブジェクトのフィールド情報。 オブジェクトのフィールドに対して、Object#toString()メソッドを実行した結果を表示する。 オプション情報に指定されたオブジェクトが基本データ型のラッパクラス、CharSequenceインタフェース、 Dateクラスの場合は、オブジェクトに対してObject#toString()メソッドを実行した結果のみを表示する。 オブジェクト情報の指定がない場合は表示しない。 $stackTrace$ エラー情報に指定された例外オブジェクトのスタックトレース。 エラー情報の指定がない場合は表示しない。
$date$ -$logLevel$- $loggerName$ [$executionId$] boot_proc = [$bootProcess$] proc_sys = [$processingSystem$] req_id = [$requestId$] usr_id = [$userId$] $message$$information$$stackTrace$
プロパティファイルの記述ルールを下記に示す。
- Author:
- Kiyohito Itoh
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
起動プロセスを取得するクラス。static class
出力日時を取得するクラス。static class
実行時IDを取得するクラス。static class
オプション情報に指定されたオブジェクトのフィールド情報を取得するクラス。static class
ロガー名を取得するクラス。static class
ログレベルを取得するクラス。static class
メッセージを取得するクラスstatic class
処理方式を取得するクラス。static class
リクエストIDを取得するクラス。static class
実行時ロガー名を取得するクラス。static class
エラー情報に指定された例外オブジェクトのスタックトレースを取得するクラス。static class
ユーザIDを取得するクラス。 -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionformat
(LogContext context) ログのフォーマットを行う。protected DateFormat
getDateFormat
(ObjectSettings settings) 日時フォーマットを取得する。protected String
getFormat
(ObjectSettings settings) フォーマットを取得する。protected Map<String,
LogItem<LogContext>> getLogItems
(ObjectSettings settings) フォーマット対象のログ出力項目を取得する。protected LogLevelLabelProvider
getLogLevelLabelProvider
(ObjectSettings settings) LogLevelLabelProviderを取得する。void
initialize
(ObjectSettings settings) 初期処理を行う。
-
Constructor Details
-
BasicLogFormatter
public BasicLogFormatter()
-
-
Method Details
-
initialize
初期処理を行う。
フォーマットとログレベルに使用するラベルを初期化する。- Specified by:
initialize
in interfaceLogFormatter
- Parameters:
settings
- LogFormatterの設定
-
getLogItems
フォーマット対象のログ出力項目を取得する。- Parameters:
settings
- LogFormatterの設定- Returns:
- フォーマット対象のログ出力項目
-
getDateFormat
日時フォーマットを取得する。- Parameters:
settings
- LogFormatterの設定- Returns:
- 日時フォーマット
-
getLogLevelLabelProvider
LogLevelLabelProviderを取得する。- Parameters:
settings
- LogFormatterの設定- Returns:
- LogLevelLabelProvider
-
getFormat
フォーマットを取得する。- Parameters:
settings
- LogFormatterの設定- Returns:
- フォーマット
-
format
ログのフォーマットを行う。- Specified by:
format
in interfaceLogFormatter
- Parameters:
context
-LogContext
- Returns:
- フォーマット済みのログ
-