記錄一次通過springaop實現審計日誌功能的需求實現
所謂審計日誌,就是把所有使用者的操作都要記錄下來,防止系統出問題了,追溯責任人
實現該功能的幾步:
1.首先使用@aspect定義乙個切面類logaspect
2.在切面類裡面使用@pointcut("@annotation(com.aaa.bbbb.operatordetail)")註解定義切點,
表示掃瞄所有用@logaspect註解標識的方法
3.@around:環繞增強,相當於methodinterceptor,可以在此處列印使用者的操作日誌
4.@afterreturning:後置增強,相當於afterreturningadvice,方法正常退出時執行
5.@before:標識乙個前置增強方法,相當於beforeadvice的功能,相似功能的還有
6.@afterthrowing:異常丟擲增強,相當於throwsadvice
7.@after: final增強,不管是丟擲異常或者正常退出都會執行
8.定義乙個operatordetail的註解
9.接下來就可以在想列印使用者操作日誌的方法上加上operatordetail註解
審計日誌可以列印了,但是如果把審計日誌和系統日誌輸出到不同的日誌檔案呢?
1.配置springboot的logback-spring.xml配置檔案
…
使用spring Aop 切日誌 日誌管理
先看效果圖下面是資料庫的儲存操作日誌 配置檔案 工具類 public object around proceedingjoinpoint pjp throws throwable 方法通知前獲取時間,為什麼要記錄這個時間呢?當然是用來計算模組執行時間的 long start system.curre...
SpringAop切面實現日誌記錄
springaop切面實現日誌記錄 實現 原因 spring在處理中,可能是因為我的專案有事務,serviceimpl的方法被 後直接得不到了。換乙個思路 先得到自己的父類,然後通過父類得到真實的自己 解決方法 1 2 這個方法幫忙拿出註解中的operation屬性 3 因為有攔截serviceim...
使用Spring AOP記錄訪問日誌
api class clazz joinpoint.gettarget getclass 獲取目標類物件 string methodname joinpoint.getsignature getname 獲取切入點的方法名 string values anno.value 獲取註解的value屬性值...