我發現了很多關於如何使用Spring框架如this或this創建日誌記錄的自定義方面的例子,但沒有找到針對這種情況和問題的標準/常見Spring實現。有沒有Spring的日誌方面的標準實現?Spring:標準日誌方面(攔截器)
19
A
回答
22
是的,有!
<bean id="customizableTraceInterceptor" class="org.springframework.aop.interceptor.CustomizableTraceInterceptor">
<property name="enterMessage" value="Entering $[methodName]($[arguments])"/>
<property name="exitMessage" value="Leaving $[methodName](): $[returnValue]"/>
</bean>
<aop:config>
<aop:advisor advice-ref="customizableTraceInterceptor" pointcut="execution(public * BankAccountServlet.*(..))"/>
</aop:config>
時退房CustomizableTraceInterceptor API,你可以定義不同的幾個佔位符進入/退出/異常消息:
$[methodName]
- 替換的方法被調用$[targetClassName]
名稱 - 替換爲調用目標類的名稱$[targetClassShortName]
- 替換爲這是調用$[returnValue]
的目標之類的短名稱 - 替換爲調用$[argumentTypes]
返回的值 - 替換爲一個逗號分隔的方法參數的短類名列表$[arguments]
- 替換爲逗號分隔的方法參數$[exception]
String表示的列表 - 替換爲調用$[invocationTime]
期間提出的任何的Throwable的String表示 - 隨着時間的替代,以毫秒爲單位,所採取的方法在職業
0
這裏是指那些通過AOP日誌框架的列表:
http://aspect4log.sf.net - 確實非常好看通過SLF4J和@Log註解記錄。 可以通過SpringAOP和AspectJ工作。使用AspectJ,它甚至可以用於私有方法和構造函數,並且不需要類就可以成爲Spring Bean。 非常容易使用,我能夠在5分鐘內使其與我的項目一起運行。
http://loggifier.unkrig.de - 通過java.util.logging進行日誌記錄,有點過於複雜,並沒有那麼好的文檔,但聲稱它可以測試已經編譯過的jar/war/ear文件!
AbstractTraceInterceptor(來自SpringAOP)及其子類SimpleTraceInterceptor和CustomizableTraceInterceptor。日誌記錄配置與類別分開進行。通過公共日誌記錄日誌。由於它是爲SpringAOP設計的,因此您必須使用Spring Beans(並且只能使用Spring Bean公共方法)。
相關問題
- 1. 攔截器與Spring中的方面?
- 2. Spring Cache攔截器
- 3. CXF日誌記錄攔截器
- 4. 攔截Hibernate標準查詢
- 5. Spring攔截器/過濾器
- 6. BasicDataSource的Spring攔截器
- 7. Spring JMX攔截
- 8. 如何關閉或攔截Logcat日誌?
- 9. 如何使用Spring攔截或過濾器攔截資源
- 10. 攔截器不攔截
- 11. EJB 3.1攔截器是「攔截器」嗎?
- 12. 覆蓋攔截器的ModelAndView在Spring MVC
- 13. 向Spring MVC攔截器添加參數
- 14. spring ws客戶端攔截器示例
- 15. Spring/BlazeDS消息攔截器用例
- 16. Spring引導攔截器返回JSON
- 17. Spring攔截器未被調用
- 18. Spring AOP方面註釋日誌記錄
- 19. Spring AOP和異常攔截
- 20. Spring攔截URL模式
- 21. 訪問在Spring攔截
- 22. 多重方法攔截和攔截器重用
- 23. 如何爲ILogger攔截攔截器
- 24. android上的攔截攔截器
- 25. StructureMap攔截器
- 26. Hibernate攔截器
- 27. EJB3攔截器
- 28. Vue.js攔截器
- 29. Ninject攔截器
- 30. Hibernate攔截器
有趣的是,明天將嘗試它,你能發佈鏈接我可以在哪裏讀到它?謝謝 –
是的,謝謝,我剛剛閱讀它:) –
@Tomasz - 我在OSGI包中的Eclipse Virgo服務器上試過這個。它沒有將日誌打印到日誌文件中。我懷疑它是因爲編織問題。但我完全不知道。你能幫我麼?提前致謝。 – Sam