本人目前有一個問題,求各位大佬解答
在controller層有一個自定義注解@Log
我想在所有@log注解的方法上 獲取到這個方法內部所有呼叫過的sql鏈,最后存到某地
于是使用了aop代理了所有mapper類
該aspect類中有兩個執行緒變數->1.是否開啟記錄標志->THREAD_CALL_ENABLED,2.記錄sql的string->THREAD_CALL_SQL
在@log注解的aop中@before方法里開啟了記錄標注->THREAD_CALL_ENABLED.set(true)
如果執行緒變數記錄標志是true,則在mapper的aop中對當前執行緒的mapper層sql記錄并獲取sql的字串存入THREAD_CALL_SQL.set(sql),否則就直接pass 不進行記錄
在最后日志存取時,對執行緒變數全部remove操作
想知道還有沒有別的方式可以實作??
求各位大佬解惑
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/167008.html
標籤:Web 開發
上一篇:微信小程式代碼的優化 求大佬指定迷津,在原有的代碼進行修改
下一篇:求助javaweb eclipse Message 實體化Servlet類[com.atguigu.login.servlet.LoginServlet]例外
