类 CustomizableTraceInterceptor

  • 所有已实现的接口:
    Serializable, Advice, Interceptor, MethodInterceptor

    public class CustomizableTraceInterceptor
    extends AbstractTraceInterceptor
    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 invocation

    There are restrictions on which placeholders can be used in which messages: see the individual message properties for details on the valid placeholders.

    从以下版本开始:
    1.2
    作者:
    Rob Harrop, Juergen Hoeller
    另请参阅:
    setEnterMessage(java.lang.String), setExitMessage(java.lang.String), setExceptionMessage(java.lang.String), SimpleTraceInterceptor, 序列化表格
    • 字段详细资料

      • PLACEHOLDER_ARGUMENT_TYPES

        public static final String PLACEHOLDER_ARGUMENT_TYPES
        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.
        另请参阅:
        常量字段值
      • PLACEHOLDER_ARGUMENTS

        public static final String PLACEHOLDER_ARGUMENTS
        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.
        另请参阅:
        常量字段值
      • PLACEHOLDER_EXCEPTION

        public static final String PLACEHOLDER_EXCEPTION
        The $[exception] placeholder. Replaced with the String representation of any Throwable raised during method invocation.
        另请参阅:
        常量字段值
    • 方法详细资料

      • setExitMessage

        public void setExitMessage​(String exitMessage)
        Set the template used for method exit log messages. This template can contain any of the following placeholders:
        • $[targetClassName]
        • $[targetClassShortName]
        • $[argumentTypes]
        • $[arguments]
        • $[returnValue]
        • $[invocationTime]
      • setExceptionMessage

        public void setExceptionMessage​(String exceptionMessage)
        Set the template used for method exception log messages. This template can contain any of the following placeholders:
        • $[targetClassName]
        • $[targetClassShortName]
        • $[argumentTypes]
        • $[arguments]
        • $[exception]
      • replacePlaceholders

        protected String replacePlaceholders​(String message,
                                             MethodInvocation methodInvocation,
                                             Object returnValue,
                                             Throwable throwable,
                                             long invocationTime)
        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
        返回:
        the formatted output to write to the log