Package nablarch.core.log
Class LogUtil
java.lang.Object
nablarch.core.log.LogUtil
ログ出力の実装を助けるユーティリティ。
- Author:
- Kiyohito Itoh
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
マップの値を編集するインタフェースの基本実装クラス。static interface
マップの値を編集するインタフェース。
マップをダンプする処理(dumpMap(Map, String, MapValueEditor)
)で使用する。static class
マップの値をマスキングするクラス。static interface
クラスローダに紐付くオブジェクトを生成するインタフェース。 -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
フォーマット済みのログ出力項目に指定された出力項目が含まれているかを判定する。static <T> LogItem<T>[]
createFormattedLogItems
(Map<String, LogItem<T>> logItems, String format) フォーマット文字列からフォーマット済みのログ出力項目を生成する。
指定されたログ出力項目のキーをプレースホルダ($名前$形式)検索用のパターンに使用する。static <T> LogItem<T>[]
フォーマット文字列からフォーマット済みのログ出力項目を生成する。
プレースホルダでない固定文字列には、FixedStringItem
を使用する。static Pattern
createReplacementsPattern
(Set<String> replacements) プレースホルダ($名前$形式)検索用のパターンを作成する。static <T> String
マップをダンプした文字列を返す。static <T> String
マップをダンプした文字列を返す。static <T> String
dumpMap
(Map<String, T> map, String separator, LogUtil.MapValueEditor valueEditor) マップをダンプした文字列を返す。static LogItem
findLogItem
(LogItem[] logItems, Class c) フォーマット済みのログ出力項目から指定された出力項目を検索する。static <T> String
formatMessage
(LogItem<T>[] logItems, T context) フォーマット済みのログ出力項目を使用してメッセージをフォーマットする。static String
実行時IDを生成する。static String
システムプロパティ("nablarch.bootProcess")から起動プロセスを識別する文字列を取得する。static <T> T
getObjectBoundToClassLoader
(LogUtil.ObjectCreator<T> creator) クラスローダに紐付くオブジェクトを取得する。static void
コンテキストクラスローダに紐付く全てのオブジェクトを削除する。static <T> T
コンテキストクラスローダに紐付くオブジェクトを削除する。
-
Method Details
-
generateExecutionId
実行時IDを生成する。実行時IDは下記のフォーマットで生成する。 起動プロセス+日時("yyyyMMddHHmmssSSS")+連番(4桁) 起動プロセスは
getBootProcess()
から取得する。- Returns:
- 実行時ID
-
getBootProcess
システムプロパティ("nablarch.bootProcess")から起動プロセスを識別する文字列を取得する。- Returns:
- 起動プロセスを識別する文字列。指定がない場合はブランク
-
createReplacementsPattern
プレースホルダ($名前$形式)検索用のパターンを作成する。- Parameters:
replacements
- 置き換え文字($名前$形式)- Returns:
- プレースホルダ($名前$形式)検索用のパターン
-
createFormattedLogItems
public static <T> LogItem<T>[] createFormattedLogItems(Map<String, LogItem<T>> logItems, String format) フォーマット文字列からフォーマット済みのログ出力項目を生成する。
指定されたログ出力項目のキーをプレースホルダ($名前$形式)検索用のパターンに使用する。- Type Parameters:
T
- ログ出力項目の取得に使用するコンテキストの型- Parameters:
logItems
- ログ出力項目format
- フォーマット文字列- Returns:
- フォーマット済みのログ出力項目
-
createFormattedLogItems
public static <T> LogItem<T>[] createFormattedLogItems(Map<String, LogItem<T>> logItems, String format, Pattern pattern) フォーマット文字列からフォーマット済みのログ出力項目を生成する。
プレースホルダでない固定文字列には、FixedStringItem
を使用する。- Type Parameters:
T
- ログ出力項目の取得に使用するコンテキストの型- Parameters:
logItems
- ログ出力項目format
- フォーマット文字列pattern
- プレースホルダのパターン- Returns:
- フォーマット済みのログ出力項目
-
formatMessage
フォーマット済みのログ出力項目を使用してメッセージをフォーマットする。- Type Parameters:
T
- ログ出力項目の取得に使用するコンテキストの型- Parameters:
logItems
- フォーマット済みのログ出力項目context
- ログ出力項目の取得に使用するコンテキスト- Returns:
- フォーマット済みのメッセージ
-
dumpMap
マップをダンプした文字列を返す。- Type Parameters:
T
- マップの値の型- Parameters:
map
- マップseparator
- マップエントリのセパレータ- Returns:
- マップをダンプした文字列
-
dumpMap
マップをダンプした文字列を返す。- Type Parameters:
T
- マップの値の型- Parameters:
map
- マップseparator
- マップエントリのセパレータexcludeKeyPattern
- ダンプから除外するキーのパターン。指定しない場合はnull- Returns:
- マップをダンプした文字列
-
dumpMap
public static <T> String dumpMap(Map<String, T> map, String separator, LogUtil.MapValueEditor valueEditor) マップをダンプした文字列を返す。- Type Parameters:
T
- マップの値の型- Parameters:
map
- マップseparator
- マップエントリのセパレータvalueEditor
-LogUtil.MapValueEditor
- Returns:
- マップをダンプした文字列
-
contains
フォーマット済みのログ出力項目に指定された出力項目が含まれているかを判定する。- Parameters:
logItems
- フォーマット済みのログ出力項目classes
- 出力項目クラス- Returns:
- 指定された出力項目が1つでも含まれている場合はtrue
-
findLogItem
フォーマット済みのログ出力項目から指定された出力項目を検索する。- Parameters:
logItems
- フォーマット済みのログ出力項目c
- 出力項目クラス- Returns:
- 最初に見つかったログ出力項目。見つからない場合はnull
-
getObjectBoundToClassLoader
クラスローダに紐付くオブジェクトを取得する。カレントスレッドから取得したコンテキストクラスローダまたはその祖先のクラスローダに紐づくオブジェクトを取得する。 クラスローダに紐付くオブジェクトが存在しない場合は、
LogUtil.ObjectCreator
を使用してオブジェクトを生成し、 カレントスレッドから取得したコンテキストクラスローダに紐付けて保持する。- Type Parameters:
T
- クラスローダに紐付くオブジェクトの型- Parameters:
creator
- クラスローダに紐付くオブジェクトを生成するLogUtil.ObjectCreator
- Returns:
- クラスローダに紐付くオブジェクト
-
removeObjectBoundToContextClassLoader
コンテキストクラスローダに紐付くオブジェクトを削除する。- Type Parameters:
T
- クラスローダに紐付くオブジェクトの型- Parameters:
creator
- クラスローダに紐付くオブジェクトを生成したLogUtil.ObjectCreator
- Returns:
- 削除したオブジェクト。コンテキストクラスローダに紐付くオブジェクトが存在しない場合はnull
-
removeAllObjectsBoundToContextClassLoader
public static void removeAllObjectsBoundToContextClassLoader()コンテキストクラスローダに紐付く全てのオブジェクトを削除する。
-