使用AOP做日誌記錄時,應該考慮到的問題

最近在瞭解AOP(Aspect Oriented Programming:面向切面編程),發現AOP在日誌記錄、權限認證、異常處理、事務處理等方面確實能夠減少很多業務端的代碼量,使用AOP來處理公共邏輯,避免了非業務邏輯對核心代碼的侵入。但是今天在使用AOP記錄日誌時發現,使用AOP之後,日誌無法記錄準確發生位置(文件名稱、所在方法名稱、行號等),如果缺少這些詳細的日誌信息,會給我們排查問題帶來很大的困擾,因此,在使用AOP記錄日誌時,我們要學會做出取捨:

1.如果我們對調用者信息要求不高(例如:行號、函數名稱、類名等),巧妙使用AOP,可以節省很多代碼量,在節省時間的同時,也使代碼更加整潔,沒有過多非核心業務代碼

2.如果我們對調用者信息有要求的話(特殊日誌記錄,一般都會記錄行號、函數名稱等信息),那麼我們這時候就不能再使用AOP來進行日誌記錄了,可以考慮在函數中直接放入日誌記錄代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章