@Published(tag="architect") public class FailureLogFormatter extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
FailureLogFormatter.ContactItem
連絡先を取得するクラス。
|
static class |
FailureLogFormatter.DataItem
処理対象データを取得するクラス。
|
static class |
FailureLogFormatter.FailureCodeItem
障害コードを取得するクラス。
|
static class |
FailureLogFormatter.FailureLogContext
障害通知ログと障害解析ログの出力項目を保持するクラス。
|
static class |
FailureLogFormatter.MessageItem
メッセージを取得するクラス。
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
PROPS_PREFIX
プロパティ名のプレフィックス
|
Constructor and Description |
---|
FailureLogFormatter()
フォーマット済みのログ出力項目を初期化する。
|
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
format(LogItem<FailureLogFormatter.FailureLogContext>[] formattedLogItems,
java.lang.Throwable error,
java.lang.Object data,
java.lang.String failureCode,
java.lang.Object[] messageOptions)
指定されたフォーマット済みのログ出力項目を使用してメッセージをフォーマットする。
|
java.lang.String |
formatAnalysisMessage(java.lang.Throwable error,
java.lang.Object data,
java.lang.String failureCode,
java.lang.Object[] messageOptions)
障害解析ログのメッセージをフォーマットする。
|
java.lang.String |
formatNotificationMessage(java.lang.Throwable error,
java.lang.Object data,
java.lang.String failureCode,
java.lang.Object[] messageOptions)
障害通知ログのメッセージをフォーマットする。
|
protected java.lang.String |
getAnalysisFormat(java.util.Map<java.lang.String,java.lang.String> props)
障害解析ログのフォーマットを取得する。
|
protected java.util.Map<java.lang.String,java.lang.String> |
getAppFailureCodes(java.util.Map<java.lang.String,java.lang.String> props)
アプリケーション用の障害コード変換情報を取得する。
|
protected java.util.List<java.util.Map.Entry<java.lang.String,java.lang.String>> |
getContactList(java.util.Map<java.lang.String,java.lang.String> props)
連絡先を取得する。
プロパティファイルのキー名の長さで降順にソートして返す。
|
protected java.lang.String |
getDefaultFailureCode(java.util.Map<java.lang.String,java.lang.String> props)
デフォルトの障害コードを取得する。
|
protected java.lang.String |
getDefaultMessage(java.util.Map<java.lang.String,java.lang.String> props)
デフォルトのメッセージを取得する。
|
protected java.lang.String |
getFailureCode(java.lang.String failureCode,
java.lang.Throwable error)
ログ出力に使用する障害コードを取得する。
|
protected java.lang.String |
getFrameworkFailureCode(java.lang.Throwable error)
フレームワーク用の障害コード変換情報から障害コードを取得する。
|
protected java.util.List<java.util.Map.Entry<java.lang.String,java.lang.String>> |
getFwFailureCodes(java.util.Map<java.lang.String,java.lang.String> props)
フレームワーク用の障害コード変換情報を取得する。
プロパティファイルのキー名の長さで降順にソートして返す。
|
protected java.util.Map<java.lang.String,LogItem<FailureLogFormatter.FailureLogContext>> |
getLogItems(java.util.Map<java.lang.String,java.lang.String> props)
フォーマット対象のログ出力項目を取得する。
デフォルトで下記のプレースホルダを設定したログ出力項目を返す。
|
protected java.lang.String |
getMessage(java.lang.String failureCode,
java.lang.Object[] options,
java.lang.Throwable error)
障害コードからメッセージを取得する。
|
protected java.lang.String |
getNotificationFormat(java.util.Map<java.lang.String,java.lang.String> props)
障害通知ログのフォーマットを取得する。
|
protected java.util.Map<java.lang.String,java.lang.String> |
getProps(java.util.Map<java.lang.String,java.lang.String> props,
java.lang.String key,
java.lang.String defaultFilePath)
プロパティを取得する。
|
protected java.lang.StackTraceElement |
getRootExceptionPoint(java.lang.Throwable error)
スタックトレースからルート要素を取得する。
|
protected void |
initialize()
初期化
|
protected void |
initializeFailureCodes(java.util.Map<java.lang.String,java.lang.String> props)
障害コードの初期化
|
protected void |
initializeFormat(java.util.Map<java.lang.String,java.lang.String> props)
フォーマットの初期化
|
protected void |
initializeMessage(java.util.Map<java.lang.String,java.lang.String> props)
メッセージの初期化
|
public static final java.lang.String PROPS_PREFIX
protected void initialize()
protected void initializeFailureCodes(java.util.Map<java.lang.String,java.lang.String> props)
props
- 各種ログ出力の設定情報protected void initializeMessage(java.util.Map<java.lang.String,java.lang.String> props)
props
- 各種ログ出力の設定情報protected void initializeFormat(java.util.Map<java.lang.String,java.lang.String> props)
props
- 各種ログ出力の設定情報protected java.util.List<java.util.Map.Entry<java.lang.String,java.lang.String>> getContactList(java.util.Map<java.lang.String,java.lang.String> props)
props
- 各種ログ出力の設定情報protected java.util.Map<java.lang.String,java.lang.String> getAppFailureCodes(java.util.Map<java.lang.String,java.lang.String> props)
props
- 各種ログの設定情報protected java.util.List<java.util.Map.Entry<java.lang.String,java.lang.String>> getFwFailureCodes(java.util.Map<java.lang.String,java.lang.String> props)
props
- 各種ログの設定情報protected java.lang.String getDefaultFailureCode(java.util.Map<java.lang.String,java.lang.String> props)
props
- 各種ログの設定情報protected java.lang.String getDefaultMessage(java.util.Map<java.lang.String,java.lang.String> props)
props
- 各種ログの設定情報protected java.lang.String getNotificationFormat(java.util.Map<java.lang.String,java.lang.String> props)
props
- 各種ログの設定情報protected java.lang.String getAnalysisFormat(java.util.Map<java.lang.String,java.lang.String> props)
props
- 各種ログの設定情報protected java.util.Map<java.lang.String,java.lang.String> getProps(java.util.Map<java.lang.String,java.lang.String> props, java.lang.String key, java.lang.String defaultFilePath)
props
- 各種ログの設定情報key
- プロパティのファイルパスを各種ログの設定情報から取得する際に使用するキーdefaultFilePath
- デフォルトのファイルパスprotected java.util.Map<java.lang.String,LogItem<FailureLogFormatter.FailureLogContext>> getLogItems(java.util.Map<java.lang.String,java.lang.String> props)
$failureCode$: 障害コード $messageId$: 障害コード(旧メッセージID。下位互換性のため) $message$: メッセージ $data$: 処理対象データ $contact$: 連絡先
props
- 各種ログの設定情報public java.lang.String formatNotificationMessage(java.lang.Throwable error, java.lang.Object data, java.lang.String failureCode, java.lang.Object[] messageOptions)
フォーマット対象の出力項目を下記に示す。 障害コード 障害コードから取得したメッセージ 派生元実行時ID
error
- エラー情報data
- 処理対象データfailureCode
- 障害コードmessageOptions
- 障害コードからメッセージを取得する際に使用するオプション情報public java.lang.String formatAnalysisMessage(java.lang.Throwable error, java.lang.Object data, java.lang.String failureCode, java.lang.Object[] messageOptions)
フォーマット対象の出力項目を下記に示す。 障害コード 障害コードから取得したメッセージ 派生元実行時ID
error
- エラー情報data
- 処理対象データfailureCode
- 障害コードmessageOptions
- 障害コードからメッセージを取得する際に使用するオプション情報protected java.lang.String format(LogItem<FailureLogFormatter.FailureLogContext>[] formattedLogItems, java.lang.Throwable error, java.lang.Object data, java.lang.String failureCode, java.lang.Object[] messageOptions)
フォーマット対象の出力項目を下記に示す。 障害コード 障害コードから取得したメッセージ 派生元実行時ID
formattedLogItems
- フォーマット済みのログ出力項目error
- エラー情報data
- 処理対象データfailureCode
- 障害コードmessageOptions
- 障害コードからメッセージを取得する際に使用するオプション情報protected java.lang.String getMessage(java.lang.String failureCode, java.lang.Object[] options, java.lang.Throwable error)
障害コードがデフォルトの障害コードの場合は、デフォルトのメッセージを返す。
デフォルトのメッセージが指定されていない場合はブランクとなる。
メッセージ取得では、指定されたメッセージの言語を使用する。
メッセージの言語が指定されていない場合は、ThreadContext.getLanguage()
を使用する。
メッセージ取得で例外が発生した場合は、下記の固定メッセージを返す。
"failed to get the message to output the failure log. failureCode = [障害コード]"
failureCode
- 障害コードoptions
- 障害コードからメッセージを取得する際に使用するオプション情報error
- エラー情報MessageUtil.createMessage(MessageLevel, String, Object...)
protected java.lang.String getFailureCode(java.lang.String failureCode, java.lang.Throwable error)
failureCode
- 出力依頼時に指定された障害コードerror
- エラー情報protected java.lang.String getFrameworkFailureCode(java.lang.Throwable error)
下記の場合はデフォルトの障害コードを返す。 ・エラー情報のスタックトレースのルート要素がフレームワークでない場合 ・フレームワーク用の障害コード変換情報から障害コードを取得できない場合
error
- エラー情報protected java.lang.StackTraceElement getRootExceptionPoint(java.lang.Throwable error)
error
- エラー情報