java.lang.Object | ||
↳ | org.springframework.aop.interceptor.AbstractTraceInterceptor | |
↳ | org.springframework.aop.interceptor.CustomizableTraceInterceptor |
MethodInterceptor
implementation that allows for highly customizable
method-level tracing, using placeholders.
Trace messages are written on method entry, and if the method invocation succeeds on method exit. If an invocation results in an exception, then an exception message is written. The contents of these trace messages is fully customizable and special placeholders are available to allow you to include runtime information in your log messages. The placeholders available are:
$[methodName]
- replaced with the name of the method being invoked$[targetClassName]
- replaced with the name of the class that is
the target of the invocation$[targetClassShortName]
- replaced with the short name of the class
that is the target of the invocation$[returnValue]
- replaced with the value returned by the invocation$[argumentTypes]
- replaced with a comma-separated list of the
short class names of the method arguments$[arguments]
- replaced with a comma-separated list of the
String
representation of the method arguments$[exception]
- replaced with the String
representation
of any Throwable
raised during the invocation$[invocationTime]
- replaced with the time, in milliseconds,
taken by the method invocationThere are restrictions on which placeholders can be used in which messages: see the individual message properties for details on the valid placeholders.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | PLACEHOLDER_ARGUMENTS | The $[arguments] placeholder. |
|||||||||
String | PLACEHOLDER_ARGUMENT_TYPES | The $[argumentTypes] placeholder. |
|||||||||
String | PLACEHOLDER_EXCEPTION | The $[exception] placeholder. |
|||||||||
String | PLACEHOLDER_INVOCATION_TIME | The $[invocationTime] placeholder. |
|||||||||
String | PLACEHOLDER_METHOD_NAME | The $[methodName] placeholder. |
|||||||||
String | PLACEHOLDER_RETURN_VALUE | The $[returnValue] placeholder. |
|||||||||
String | PLACEHOLDER_TARGET_CLASS_NAME | The $[targetClassName] placeholder. |
|||||||||
String | PLACEHOLDER_TARGET_CLASS_SHORT_NAME | The $[targetClassShortName] placeholder. |
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
org.springframework.aop.interceptor.AbstractTraceInterceptor
|
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Set the template used for method entry log messages.
| |||||||||||
Set the template used for method exception log messages.
| |||||||||||
Set the template used for method exit log messages.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Writes a log message before the invocation based on the value of
enterMessage . | |||||||||||
Replace the placeholders in the given message with the supplied values,
or values derived from those supplied.
| |||||||||||
Writes the supplied message to the supplied
Log instance. | |||||||||||
Writes the supplied message and
Throwable to the
supplied Log instance. |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
org.springframework.aop.interceptor.AbstractTraceInterceptor
| |||||||||||
From class
java.lang.Object
|
The $[arguments]
placeholder.
Replaced with a comma separated list of the argument values for the
method invocation. Relies on the toString()
method of
each argument type.
The $[argumentTypes]
placeholder.
Replaced with a comma-separated list of the argument types for the
method invocation. Argument types are written as short class names.
The $[exception]
placeholder.
Replaced with the String
representation of any
Throwable
raised during method invocation.
The $[invocationTime]
placeholder.
Replaced with the time taken by the invocation (in milliseconds).
The $[methodName]
placeholder.
Replaced with the name of the method being invoked.
The $[returnValue]
placeholder.
Replaced with the String
representation of the value
returned by the method invocation.
The $[targetClassName]
placeholder.
Replaced with the fully-qualifed name of the Class
of the method invocation target.
The $[targetClassShortName]
placeholder.
Replaced with the short name of the Class
of the
method invocation target.
Set the template used for method entry log messages. This template can contain any of the following placeholders:
$[targetClassName]
$[targetClassShortName]
$[argumentTypes]
$[arguments]
IllegalArgumentException |
---|
Set the template used for method exception log messages. This template can contain any of the following placeholders:
$[targetClassName]
$[targetClassShortName]
$[argumentTypes]
$[arguments]
$[exception]
Set the template used for method exit log messages. This template can contain any of the following placeholders:
$[targetClassName]
$[targetClassShortName]
$[argumentTypes]
$[arguments]
$[returnValue]
$[invocationTime]
Writes a log message before the invocation based on the value of enterMessage
.
If the invocation succeeds, then a log message is written on exit based on the value
exitMessage
. If an exception occurs during invocation, then a message is
written based on the value of exceptionMessage
.
logger | the Log to write trace messages to |
---|
MethodInvocation.proceed()
Throwable |
---|
Replace the placeholders in the given message with the supplied values, or values derived from those supplied.
message | the message template containing the placeholders to be replaced |
---|---|
methodInvocation | the MethodInvocation being logged.
Used to derive values for all placeholders except $[exception]
and $[returnValue] . |
returnValue | any value returned by the invocation.
Used to replace the $[returnValue] placeholder. May be null . |
throwable | any Throwable raised during the invocation.
The value of Throwable.toString() is replaced for the
$[exception] placeholder. May be null . |
invocationTime | the value to write in place of the
$[invocationTime] placeholder |
Writes the supplied message to the supplied Log
instance.
Writes the supplied message and Throwable
to the
supplied Log
instance. By default messages are written
at TRACE
level. Sub-classes can override this method
to control which level the message is written at.