struts.xmlの<interceptor-stack >の中に、
<interceptor-ref name=”logger”/>を入れると、
ログに
info Starting execution stack for action アクション名
・・・
(アクションの中のログ)
・・・
info Finishing execution stack for action アクション名
と出力するので、
画面の動きを追っていくのにとても便利。
しかし、そのログを作っているソースを見ると、public String com.opensymphony.xwork2.interceptor.LoggingInterceptor#intercept(ActionInvocation invocation) throws Exception {
logMessage(invocation, START_MESSAGE);
String result = invocation.invoke();
logMessage(invocation, FINISH_MESSAGE);
return result;
}
身も蓋も無い。
このソースを見るだけで、interceptorは只のサブルーチンだと判るし、
妙な制限事項がいっぱいあることも理解できる。