Actionの起動〜終了をログ出力 ‐LoggingInterceptor

xwork2のLoggingInterceptorを定義すれば、INFOレベル(固定;変更不可)で、以下のような起動と終了ログが出力させることができます。

2007-05-18 14:25:51,711 INFO [http-8080-Processor23] [com.opensymphony.xwork2.interceptor.LoggingInterceptor] - Starting execution stack for action /catalog/list
2007-05-18 14:25:50,211 INFO [http-8080-Processor23] [com.opensymphony.xwork2.interceptor.LoggingInterceptor] - Finishing execution stack for action /catalog/list

struts.xmlのdefalutStackには定義されていないので、interceptor-stackに追加します。

<interceptor-stack name="myapp-eshopStack">
	<interceptor-ref name="logger" />
	<interceptor-ref name="defaultStack" />
  ...
</interceptor-stack>

log4j.xmlの設定も必要です。INFOレベルに設定します。

<logger 
  name="com.opensymphony.xwork2.interceptor.LoggingInterceptor"
  additivity="false">
  <level value="INFO" />
  <appender-ref ref="STDOUT" />
</logger>


ただ、xwork2.2のLoggingInterceptorは、Actionの起動と終了の出力順序が逆に出力される(バグだと思いますが・・・うーん。)があるので、LoggingInterceptorを参考にして自分で実装したほうが良いと思います。Logレベルを変更したり、好きなフォーマットで出力できますし。