クラス CustomizableTraceInterceptor
java.lang.ObjectSE
org.springframework.aop.interceptor.AbstractTraceInterceptor
org.springframework.aop.interceptor.CustomizableTraceInterceptor
- 実装されたすべてのインターフェース:
SerializableSE
、Advice
、Interceptor
、MethodInterceptor
プレースホルダーを使用して高度にカスタマイズ可能なメソッドレベルのトレースを可能にする
MethodInterceptor
実装。トレースメッセージはメソッドの入り口で書き込まれ、メソッドの呼び出しがメソッドの出口で成功した場合に書き込まれます。呼び出しによって例外が発生した場合は、例外メッセージが書き込まれます。これらのトレースメッセージの内容は完全にカスタマイズ可能で、特別なプレースホルダーを使用して、ランタイム情報をログメッセージに含めることができます。使用可能なプレースホルダーは次のとおりです。
$[methodName]
- 呼び出されるメソッドの名前に置き換えられます$[targetClassName]
- 呼び出しのターゲットであるクラスの名前に置き換えられます$[targetClassShortName]
- 呼び出しのターゲットであるクラスの短い名前に置き換えられます$[returnValue]
- 呼び出しによって返された値で置き換えられます$[argumentTypes]
- メソッド引数の短いクラス名のカンマ区切りのリストで置き換えられます$[arguments]
- メソッド引数のString
表現のコンマ区切りリストで置き換えられます$[exception]
- 呼び出し中に発生したThrowable
のString
表現に置き換えられます$[invocationTime]
- メソッドの呼び出しにかかった時間(ミリ秒)に置き換えられます
どのメッセージでどのプレースホルダーを使用できるかに制限があります。有効なプレースホルダーの詳細については、個々のメッセージプロパティを参照してください。
- 導入:
- 1.2
- 作成者:
- Rob Harrop, Juergen Hoeller, Sam Brannen
- 関連事項:
フィールドサマリー
修飾子と型フィールド説明static final StringSE
$[argumentTypes]
プレースホルダー。static final StringSE
$[arguments]
プレースホルダー。static final StringSE
$[exception]
プレースホルダー。static final StringSE
$[invocationTime]
プレースホルダー。static final StringSE
$[methodName]
プレースホルダー。static final StringSE
$[returnValue]
プレースホルダー。static final StringSE
$[targetClassName]
プレースホルダー。static final StringSE
$[targetClassShortName]
プレースホルダー。クラス org.springframework.aop.interceptor.AbstractTraceInterceptor から継承されたフィールド
defaultLogger
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明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) メソッド出口ログメッセージに使用するテンプレートを設定します。クラス org.springframework.aop.interceptor.AbstractTraceInterceptor から継承されたメソッド
getClassForLogging, getLoggerForInvocation, invoke, isInterceptorEnabled, isLogEnabled, setHideProxyClassNames, setLogExceptionStackTrace, setLoggerName, setUseDynamicLogger, writeToLog, writeToLog
フィールドの詳細
PLACEHOLDER_METHOD_NAME
$[methodName]
プレースホルダー。呼び出されるメソッドの名前に置き換えられます。- 関連事項:
PLACEHOLDER_TARGET_CLASS_NAME
$[targetClassName]
プレースホルダー。メソッド呼び出しターゲットのClass
の完全修飾名に置き換えられます。- 関連事項:
PLACEHOLDER_TARGET_CLASS_SHORT_NAME
$[targetClassShortName]
プレースホルダー。メソッド呼び出しターゲットのClass
の短い名前に置き換えられます。- 関連事項:
PLACEHOLDER_RETURN_VALUE
$[returnValue]
プレースホルダー。メソッド呼び出しによって返された値のString
表現に置き換えられます。- 関連事項:
PLACEHOLDER_ARGUMENT_TYPES
$[argumentTypes]
プレースホルダー。メソッド呼び出しの引数型のコンマ区切りリストで置き換えられます。引数の型は短いクラス名として記述されます。- 関連事項:
PLACEHOLDER_ARGUMENTS
$[arguments]
プレースホルダー。メソッド呼び出しの引数値のコンマ区切りリストで置き換えられます。各引数型のtoString()
メソッドに依存します。- 関連事項:
PLACEHOLDER_EXCEPTION
$[exception]
プレースホルダー。メソッドの呼び出し中に発生したThrowable
のString
表現に置き換えられます。- 関連事項:
PLACEHOLDER_INVOCATION_TIME
$[invocationTime]
プレースホルダー。呼び出しにかかった時間(ミリ秒単位)に置き換えられます。- 関連事項:
コンストラクターの詳細
CustomizableTraceInterceptor
public CustomizableTraceInterceptor()
メソッドの詳細
setEnterMessage
メソッドエントリログメッセージに使用するテンプレートを設定します。このテンプレートには、次のプレースホルダーを含めることができます。$[targetClassName]
$[targetClassShortName]
$[argumentTypes]
$[arguments]
setExitMessage
メソッド出口ログメッセージに使用するテンプレートを設定します。このテンプレートには、次のプレースホルダーを含めることができます。$[targetClassName]
$[targetClassShortName]
$[argumentTypes]
$[arguments]
$[returnValue]
$[invocationTime]
setExceptionMessage
メソッド例外ログメッセージに使用するテンプレートを設定します。このテンプレートには、次のプレースホルダーを含めることができます。$[targetClassName]
$[targetClassShortName]
$[argumentTypes]
$[arguments]
$[exception]
invokeUnderTrace
enterMessage
の値に基づいて、呼び出し前にログメッセージを書き込みます。呼び出しが成功すると、終了時にログメッセージが値exitMessage
に基づいて書き込まれます。呼び出し中に例外が発生した場合、exceptionMessage
の値に基づいてメッセージが書き込まれます。- 次で指定:
- クラス
AbstractTraceInterceptor
のinvokeUnderTrace
logger
- トレースメッセージを書き込むLog
- 戻り値:
MethodInvocation.proceed()
の呼び出しの結果- 例外:
ThrowableSE
-MethodInvocation.proceed()
の呼び出しでエラーが発生した場合- 関連事項:
replacePlaceholders
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]
プレースホルダーの代わりに書き込む値- 戻り値:
- ログに書き込むフォーマット済み出力