我正在讀Spring,目前使用AOP的例子之一是記錄方法調用的開始和結束。使用Spring AOP記錄一個好主意?
我也讀過使用AOP會影響性能。
正在使用Spring AOP這種類型的日誌記錄的好主意?我的理解是,Spring使用動態AOP對於這種類型的AOP使用靜態AOP(如AspectJ)會更好。
我的工作所在公司的編碼策略確實需要一個荒謬的日誌記錄量,我想減少日誌代碼的數量,以便提高我的代碼的可讀性。
我吠叫錯了樹嗎?
我正在讀Spring,目前使用AOP的例子之一是記錄方法調用的開始和結束。使用Spring AOP記錄一個好主意?
我也讀過使用AOP會影響性能。
正在使用Spring AOP這種類型的日誌記錄的好主意?我的理解是,Spring使用動態AOP對於這種類型的AOP使用靜態AOP(如AspectJ)會更好。
我的工作所在公司的編碼策略確實需要一個荒謬的日誌記錄量,我想減少日誌代碼的數量,以便提高我的代碼的可讀性。
我吠叫錯了樹嗎?
閱讀this blog-post關於您的性能問題。
想到AOP的方法是將提供的功能優勢放在首位。如果自動日誌記錄是您的要求並且AOP適合它 - 那就去做吧。
也就是說,如果需要細粒度的記錄,加載時織造當然是首選。
我使用過Spring AOP實現的日誌記錄,所以我分享我的意見:
this
而不是AOP包裝的句柄),因此無法記錄。所以所有的日誌記錄只能發生在界面邊界上。 (這涉及使用基於代理的方面編織,有一個與cglib運行時子類化的選項,但我沒有使用它)我做到了同樣的this blog post描述的方式更加複雜。這是我找到的最好的,它也有一個sample,很好地顯示了使用和不使用AOP之間的區別。
Imho它是不值得的,除非你正在做一些更奇特的事情然後登錄,就像持久性的錯誤管理一樣。如果你有一個很好的異常層次結構(域,系統)並正確設置了日誌邊界,那麼你不會減少很多日誌代碼。
鏈接指向博客網站,而不是相關主題的實際博客 – 2014-10-16 20:58:16