Apache Struts 2 Documentation > Home > Guides > Core Developers Guide > Interceptors > Timer Interceptor |

Apache Struts 2 Documentation
Timer Interceptor
Edit Page Browse Space Add Page Add News
Added by digi9ten, last edited by Philip Luppens on Feb 10, 2007 (view change) show comment hide comment
Comment: Fixed macro url
View page history

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.

## Parameters

- logLevel (optional) - what log level should we use (`trace, debug, info, warn, error, fatal`)? - defaut is `info`

- logCategory (optional) - If provided we would use this category (eg. `com.mycompany.app`). Default is to use `com.opensymphony.xwork2.interceptor.TimerInterceptor`.

The parameters above enables us to log all action execution times in our own logfile.

## Extending the Interceptor

This interceptor can be extended to provide custom message format. Users should override the `invokeUnderTiming` method.

## Examples

    <!-- 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>