我發現了很多關於如何使用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. Spring RestEasy攔截器
- 4. 攔截日誌消息slf4j
- 5. 在Spring集成中使用攔截器發送日誌消息
- 6. Spring AOP的日誌記錄攔截器和JAXB問題
- 7. CXF日誌記錄攔截器
- 8. 攔截Hibernate標準查詢
- 9. Spring攔截器/過濾器
- 10. Spring方法攔截 - 性能
- 11. BasicDataSource的Spring攔截器
- 12. Spring中的攔截器2.5
- 13. Spring MVC 3.2 @ResponseBody攔截器
- 14. Spring JMX攔截
- 15. 如何關閉或攔截Logcat日誌?
- 16. 日誌使用的log4net + AutoFac攔截
- 17. 攔截Spring MVC中
- 18. Spring Security不攔截
- 19. 如何使用Spring攔截或過濾器攔截資源
- 20. 攔截器不攔截
- 21. java攔截器不攔截
- 22. Spring攔截器vs servlet過濾器
- 23. Spring AOP不攔截Spring容器內的方法
- 24. 如何攔截AngularJS $ http日誌以顯示在頁面
- 25. 不使用攔截器綁定調用攔截器方法
- 26. EJB 3.1攔截器是「攔截器」嗎?
- 27. EJB攔截器vs CDI攔截器
- 28. Spring AOP方法攔截器vs方法建議
- 29. 使用Spring AOP創建攔截器
- 30. Spring引導休眠攔截器
有趣的是,明天將嘗試它,你能發佈鏈接我可以在哪裏讀到它?謝謝 –
是的,謝謝,我剛剛閱讀它:) –
@Tomasz - 我在OSGI包中的Eclipse Virgo服務器上試過這個。它沒有將日誌打印到日誌文件中。我懷疑它是因爲編織問題。但我完全不知道。你能幫我麼?提前致謝。 – Sam