public class CustomizableTraceInterceptor extends AbstractTraceInterceptor
MethodInterceptor 実装。トレースメッセージはメソッドの入り口で書き込まれ、メソッドの呼び出しがメソッドの出口で成功した場合に書き込まれます。呼び出しによって例外が発生した場合は、例外メッセージが書き込まれます。これらのトレースメッセージの内容は完全にカスタマイズ可能で、特別なプレースホルダーを使用して、ランタイム情報をログメッセージに含めることができます。使用可能なプレースホルダーは次のとおりです。
$[methodName] - 呼び出されるメソッドの名前に置き換えられます $[targetClassName] - 呼び出しのターゲットであるクラスの名前に置き換えられます $[targetClassShortName] - 呼び出しのターゲットであるクラスの短い名前に置き換えられます $[returnValue] - 呼び出しによって返された値で置き換えられます $[argumentTypes] - メソッド引数の短いクラス名のカンマ区切りのリストで置き換えられます $[arguments] - メソッド引数の String 表現のコンマ区切りリストで置き換えられます $[exception] - 呼び出し中に発生した Throwable の String 表現に置き換えられます $[invocationTime] - メソッドの呼び出しにかかった時間(ミリ秒)に置き換えられます どのメッセージでどのプレースホルダーを使用できるかに制限があります。有効なプレースホルダーの詳細については、個々のメッセージプロパティを参照してください。
setEnterMessage(java.lang.String), setExitMessage(java.lang.String), setExceptionMessage(java.lang.String), SimpleTraceInterceptor, 連載形式 | 修飾子と型 | フィールドと説明 |
|---|---|
static StringSE | PLACEHOLDER_ARGUMENT_TYPES$[argumentTypes] プレースホルダー。 |
static StringSE | PLACEHOLDER_ARGUMENTS$[arguments] プレースホルダー。 |
static StringSE | PLACEHOLDER_EXCEPTION$[exception] プレースホルダー。 |
static StringSE | PLACEHOLDER_INVOCATION_TIME$[invocationTime] プレースホルダー。 |
static StringSE | PLACEHOLDER_METHOD_NAME$[methodName] プレースホルダー。 |
static StringSE | PLACEHOLDER_RETURN_VALUE$[returnValue] プレースホルダー。 |
static StringSE | PLACEHOLDER_TARGET_CLASS_NAME$[targetClassName] プレースホルダー。 |
static StringSE | PLACEHOLDER_TARGET_CLASS_SHORT_NAME$[targetClassShortName] プレースホルダー。 |
defaultLogger| コンストラクターと説明 |
|---|
CustomizableTraceInterceptor() |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected ObjectSE | invokeUnderTrace(MethodInvocation invocation, Log logger)enterMessage の値に基づいて、呼び出しの前にログメッセージを書き込みます。 |
protected StringSE | replacePlaceholders(StringSE message, MethodInvocation methodInvocation, ObjectSE returnValue, ThrowableSE throwable, long invocationTime) 指定されたメッセージのプレースホルダーを、指定された値、指定された値から派生した値に置き換えます。 |
void | setEnterMessage(StringSE enterMessage) メソッドエントリログメッセージに使用するテンプレートを設定します。 |
void | setExceptionMessage(StringSE exceptionMessage) メソッド例外ログメッセージに使用するテンプレートを設定します。 |
void | setExitMessage(StringSE exitMessage) メソッド出口ログメッセージに使用するテンプレートを設定します。 |
getClassForLogging, getLoggerForInvocation, invoke, isInterceptorEnabled, isLogEnabled, setHideProxyClassNames, setLogExceptionStackTrace, setLoggerName, setUseDynamicLogger, writeToLog, writeToLogcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic static final StringSE PLACEHOLDER_METHOD_NAME
$[methodName] プレースホルダー。呼び出されるメソッドの名前に置き換えられます。public static final StringSE PLACEHOLDER_TARGET_CLASS_NAME
$[targetClassName] プレースホルダー。メソッド呼び出しターゲットの Class の完全修飾名に置き換えられます。public static final StringSE PLACEHOLDER_TARGET_CLASS_SHORT_NAME
$[targetClassShortName] プレースホルダー。メソッド呼び出しターゲットの Class の短い名前に置き換えられます。public static final StringSE PLACEHOLDER_RETURN_VALUE
$[returnValue] プレースホルダー。メソッド呼び出しによって返された値の String 表現に置き換えられます。public static final StringSE PLACEHOLDER_ARGUMENT_TYPES
$[argumentTypes] プレースホルダー。メソッド呼び出しの引数型のコンマ区切りリストで置き換えられます。引数の型は短いクラス名として記述されます。public static final StringSE PLACEHOLDER_ARGUMENTS
$[arguments] プレースホルダー。メソッド呼び出しの引数値のコンマ区切りリストで置き換えられます。各引数型の toString() メソッドに依存します。public static final StringSE PLACEHOLDER_EXCEPTION
$[exception] プレースホルダー。メソッドの呼び出し中に発生した Throwable の String 表現に置き換えられます。public void setEnterMessage(StringSE enterMessage) throws IllegalArgumentExceptionSE
$[targetClassName]$[targetClassShortName]$[argumentTypes]$[arguments]public void setExitMessage(StringSE exitMessage)
$[targetClassName]$[targetClassShortName]$[argumentTypes]$[arguments]$[returnValue]$[invocationTime]public void setExceptionMessage(StringSE exceptionMessage)
$[targetClassName]$[targetClassShortName]$[argumentTypes]$[arguments]$[exception]protected ObjectSE invokeUnderTrace(MethodInvocation invocation, Log logger) throws ThrowableSE
enterMessage の値に基づいて、呼び出し前にログメッセージを書き込みます。呼び出しが成功すると、終了時にログメッセージが値 exitMessage に基づいて書き込まれます。呼び出し中に例外が発生した場合、exceptionMessage の値に基づいてメッセージが書き込まれます。AbstractTraceInterceptor の invokeUnderTrace logger - トレースメッセージを書き込む Log MethodInvocation.proceed() の呼び出しの結果 ThrowableSE - MethodInvocation.proceed() の呼び出しでエラーが発生した場合 setEnterMessage(java.lang.String), setExitMessage(java.lang.String), setExceptionMessage(java.lang.String)protected StringSE replacePlaceholders(StringSE message, MethodInvocation methodInvocation, @Nullable ObjectSE returnValue, @Nullable ThrowableSE throwable, long invocationTime)
message - 置き換えられるプレースホルダーを含むメッセージテンプレート methodInvocation - ログに記録される MethodInvocation $[exception] および $[returnValue] を除くすべてのプレースホルダーの値を導出するために使用されます。returnValue - 呼び出しによって返される値。$[returnValue] プレースホルダーを置き換えるために使用されます。null の場合があります。throwable - 呼び出し中に発生した Throwable。Throwable.toString() の値は、$[exception] プレースホルダーに置き換えられます。null の場合があります。invocationTime - $[invocationTime] プレースホルダーの代わりに書き込む値