|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.opensymphony.xwork2.interceptor.AbstractInterceptor
com.opensymphony.xwork2.interceptor.TimerInterceptor
public class TimerInterceptor
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.
trace, debug, info, warn, error, fatal
)? - defaut is info
com.mycompany.app
).
Default is to use com.opensymphony.xwork2.interceptor.TimerInterceptor
.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 Logger |
categoryLogger
|
protected static Logger |
LOG
|
protected String |
logCategory
|
protected String |
logLevel
|
Constructor Summary | |
---|---|
TimerInterceptor()
|
Method Summary | |
---|---|
protected void |
doLog(Logger logger,
String message)
Performs the actual logging. |
String |
getLogCategory()
|
protected Logger |
getLoggerToUse()
Get's the logger to use. |
String |
getLogLevel()
|
String |
intercept(ActionInvocation invocation)
Override to handle interception |
protected String |
invokeUnderTiming(ActionInvocation invocation)
Is called to invoke the action invocation and time the execution time. |
private static boolean |
isLoggerEnabled(Logger logger,
String level)
Is the given logger enalbed at the given level? |
void |
setLogCategory(String logCatgory)
|
void |
setLogLevel(String logLevel)
|
protected boolean |
shouldLog()
Determines if we should log the time. |
Methods inherited from class com.opensymphony.xwork2.interceptor.AbstractInterceptor |
---|
destroy, init |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final Logger LOG
protected Logger categoryLogger
protected String logCategory
protected String logLevel
Constructor Detail |
---|
public TimerInterceptor()
Method Detail |
---|
public String getLogCategory()
public void setLogCategory(String logCatgory)
public String getLogLevel()
public void setLogLevel(String logLevel)
public String intercept(ActionInvocation invocation) throws Exception
AbstractInterceptor
intercept
in interface Interceptor
intercept
in class AbstractInterceptor
invocation
- the action invocation
ActionInvocation.invoke()
, or from the interceptor itself.
Exception
- any system-level error, as defined in Action.execute()
.protected String invokeUnderTiming(ActionInvocation invocation) throws Exception
invocation
- the action invocation.
Exception
- can be thrown from the action.protected boolean shouldLog()
protected Logger getLoggerToUse()
protected void doLog(Logger logger, String message)
logger
- the provided logger to use.message
- the message to log.private static boolean isLoggerEnabled(Logger logger, String level)
logger
- the logger.level
- the level to check if isXXXEnabled
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |