2011-07-22 42 views
1

我想在spring 3中使用方法攔截器來完成在我的應用程序中的日誌記錄,以便我可以追蹤通過應用程序調用哪些方法。使用方法攔截器在彈簧中登錄

是否有關於如何使用方法攔截器在春季登錄的教程(或建議)? 這似乎是已經做了很多次的事情,但我一直無法找到關於它的很多數據。

回答

2

Spring參考在Spring AOP上有一個whole chapter,作爲您尋找所需內容的非常詳細的指南。嘗試一下,如果你有一些更具體的問題,問。

+0

謝謝,我想這是這樣一個問題值得回答。我確實發現,但我希望得到一些關於如何完成我想要的東西的特定教程。但是,謝謝。 –

2

Spring's org.springframework.aop.interceptor.CustomizableTraceInterceptor可以讓您實現這個開箱即用的功能。

您可以根據需要定製攔截器來記錄方法的參數和返回值。

例子: -

<aop:config> 
    <aop:advisor advice-ref="loggingAdvisor" 
     pointcut="execution(public * com.x.y.z.AbstractCommand.*(..))" /> 
</aop:config> 
<bean id="loggingAdvisor" 
    class="org.springframework.aop.interceptor.CustomizableTraceInterceptor"> 
    <property name="loggerName" value="logger-name" /> 
    <property name="enterMessage" value="Entering $[methodName]($[arguments])" /> 
    <property name="exitMessage" value="Leaving $[methodName](): $[returnValue]" /> 
</bean> 

Spring Document

Similiar SOF question answered