關於SpringBoot及JPA用法本文再也不過多討論,下面是引入的jar:mysql
保存日誌的實體類:web
保存異常的實體類:sql
接下來咱們定義一個Operation註解,用於聲明在方法上描述此方法執行了什麼操做:工具
而後編寫一個AOP切面類,因爲使用的SpringBoot只要保證在Application子目錄之下就被會自動掃描,因此只須要註解聲明便可,並不須要額外配置測試
定義請求日誌切入點:debug
編寫方法的前置通知:代理
編寫方法的返回通知:日誌
編寫方法的異常通知:get
獲取請求IPio
獲取請求方式
獲取切入點的參數信息
編寫一個簡易Controoler,用於測試請求日誌記錄:
啓動SpringBoot以後,訪問測試請求日誌的URL,查看請求日誌表記錄,能夠看到日誌已成功記錄:
接下來把測試請求日誌的Controoler修改成拋出一個異常,測試異常記錄:
而後從新啓動SpringBoot,再次訪問剛纔的URL,能夠看到產生了異常:
再次查看請求日誌表,發現仍是一條記錄,說明異常通知執行後並不會執行返回通知,這正是咱們指望的結果:
而後咱們再查看異常記錄表,發現已經將異常記錄:
至此,SpringBoot AOP記錄請求日誌和異常日誌完成