org.springframework.aop.interceptor

## Class AbstractMonitoringInterceptor

- java.lang.Object
- - org.springframework.aop.interceptor.AbstractTraceInterceptor
  - - org.springframework.aop.interceptor.AbstractMonitoringInterceptor

- All Implemented Interfaces:
    Serializable, Advice, Interceptor, MethodInterceptor
  Direct Known Subclasses:
    JamonPerformanceMonitorInterceptor, PerformanceMonitorInterceptor

      public abstract class AbstractMonitoringInterceptor
      extends AbstractTraceInterceptor

  Base class for monitoring interceptors, such as performance monitors. Provides configurable "prefix and "suffix" properties that help to classify/group performance monitoring results.

  In their `AbstractTraceInterceptor.invokeUnderTrace(org.aopalliance.intercept.MethodInvocation, org.apache.commons.logging.Log)` implementation, subclasses should call the `createInvocationTraceName(org.aopalliance.intercept.MethodInvocation)` method to create a name for the given trace, including information about the method invocation along with a prefix/suffix.

  Since:
    1.2.7
  Author:
    Rob Harrop, Juergen Hoeller
  See Also:
    `setPrefix(java.lang.String)`, `setSuffix(java.lang.String)`, `createInvocationTraceName(org.aopalliance.intercept.MethodInvocation)`, Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.springframework.aop.interceptor.AbstractTraceInterceptor

      `defaultLogger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractMonitoringInterceptor()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | `createInvocationTraceName(MethodInvocation invocation)` Create a `String` name for the given `MethodInvocation` that can be used for trace/logging purposes.
    `protected String` | `getPrefix()` Return the text that will get appended to the trace data.
    `protected String` | `getSuffix()` Return the text that will get prepended to the trace data.
    `void` | `setLogTargetClassInvocation(boolean logTargetClassInvocation)` Set whether to log the invocation on the target class, if applicable (i.e.
    `void` | `setPrefix(String prefix)` Set the text that will get appended to the trace data.
    `void` | `setSuffix(String suffix)` Set the text that will get prepended to the trace data.

    - ### Methods inherited from class org.springframework.aop.interceptor.AbstractTraceInterceptor

      `getClassForLogging, getLoggerForInvocation, invoke, invokeUnderTrace, isInterceptorEnabled, isLogEnabled, setHideProxyClassNames, setLogExceptionStackTrace, setLoggerName, setUseDynamicLogger, writeToLog, writeToLog`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AbstractMonitoringInterceptor

          public AbstractMonitoringInterceptor()

  - ### Method Detail

    - #### setPrefix

          public void setPrefix(@Nullable
                                String prefix)

      Set the text that will get appended to the trace data.

      Default is none.

    - #### getPrefix

          protected String getPrefix()

      Return the text that will get appended to the trace data.

    - #### setSuffix

          public void setSuffix(@Nullable
                                String suffix)

      Set the text that will get prepended to the trace data.

      Default is none.

    - #### getSuffix

          protected String getSuffix()

      Return the text that will get prepended to the trace data.

    - #### setLogTargetClassInvocation

          public void setLogTargetClassInvocation(boolean logTargetClassInvocation)

      Set whether to log the invocation on the target class, if applicable (i.e. if the method is actually delegated to the target class).

      Default is "false", logging the invocation based on the proxy interface/class name.

    - #### createInvocationTraceName

          protected String createInvocationTraceName(MethodInvocation invocation)

      Create a `String` name for the given `MethodInvocation` that can be used for trace/logging purposes. This name is made up of the configured prefix, followed by the fully-qualified name of the method being invoked, followed by the configured suffix.
      See Also:
        `setPrefix(java.lang.String)`, `setSuffix(java.lang.String)`