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
Nested ClassesModifier 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionformat(LogContext context) ログのフォーマットを行う。protected DateFormatgetDateFormat(ObjectSettings settings) 日時フォーマットを取得する。protected StringgetFormat(ObjectSettings settings) フォーマットを取得する。protected Map<String,LogItem<LogContext>> getLogItems(ObjectSettings settings) フォーマット対象のログ出力項目を取得する。protected LogLevelLabelProvidergetLogLevelLabelProvider(ObjectSettings settings) LogLevelLabelProviderを取得する。voidinitialize(ObjectSettings settings) 初期処理を行う。
-
Constructor Details
-
BasicLogFormatter
public BasicLogFormatter()
-
-
Method Details
-
initialize
初期処理を行う。
フォーマットとログレベルに使用するラベルを初期化する。- Specified by:
initializein 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:
formatin interfaceLogFormatter- Parameters:
context-LogContext- Returns:
- フォーマット済みのログ
-