Home » xwork-2.1.5 » com.opensymphony » xwork2 » interceptor » [javadoc | source]
com.opensymphony.xwork2.interceptor
public class: TimerInterceptor [javadoc | source]
java.lang.Object
   com.opensymphony.xwork2.interceptor.AbstractInterceptor
      com.opensymphony.xwork2.interceptor.TimerInterceptor

All Implemented Interfaces:
    Interceptor

This interceptor logs the amount of time in milliseconds. In order for this interceptor to work properly, the logging framework must be set to at least the INFO level. This interceptor relies on the Commons Logging API to report its execution-time value. The parameters above enables us to log all action execution times in our own logfile. This interceptor can be extended to provide custom message format. Users should override the invokeUnderTiming method.

<!-- records only the action's execution time -->
<action name="someAction" class="com.examples.SomeAction">
    <interceptor-ref name="completeStack"/>
    <interceptor-ref name="timer"/>
    <result name="success">good_result.ftl</result>
</action>

<!-- records action's execution time as well as other interceptors-->
<action name="someAction" class="com.examples.SomeAction">
    <interceptor-ref name="timer"/>
    <interceptor-ref name="completeStack"/>
    <result name="success">good_result.ftl</result>
</action>

This second example uses our own log category at debug level.

<!-- records only the action's execution time -->
<action name="someAction" class="com.examples.SomeAction">
    <interceptor-ref name="completeStack"/>
    <interceptor-ref name="timer">
        <param name="logLevel">debug</param>
        <param name="logCategory">com.mycompany.myapp.actiontime</param>
    <interceptor-ref/>
    <result name="success">good_result.ftl</result>
</action>

<!-- records action's execution time as well as other interceptors-->
<action name="someAction" class="com.examples.SomeAction">
    <interceptor-ref name="timer"/>
    <interceptor-ref name="completeStack"/>
    <result name="success">good_result.ftl</result>
</action>

Field Summary
protected static final  Logger LOG     
protected  Logger categoryLogger     
protected  String logCategory     
protected  String logLevel     
Method from com.opensymphony.xwork2.interceptor.TimerInterceptor Summary:
doLog,   getLogCategory,   getLogLevel,   getLoggerToUse,   intercept,   invokeUnderTiming,   setLogCategory,   setLogLevel,   shouldLog
Methods from com.opensymphony.xwork2.interceptor.AbstractInterceptor:
destroy,   init,   intercept
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from com.opensymphony.xwork2.interceptor.TimerInterceptor Detail:
 protected  void doLog(Logger logger,
    String message) 
    Performs the actual logging.
 public String getLogCategory() 
 public String getLogLevel() 
 protected Logger getLoggerToUse() 
    Get's the logger to use.
 public String intercept(ActionInvocation invocation) throws Exception 
 protected String invokeUnderTiming(ActionInvocation invocation) throws Exception 
    Is called to invoke the action invocation and time the execution time.
 public  void setLogCategory(String logCatgory) 
 public  void setLogLevel(String logLevel) 
 protected boolean shouldLog() 
    Determines if we should log the time.