如何在一个已经开发好的java系统中,为某个功能下的方法,添加用户操作日志呢?没有使用spring,也无法用过滤器,是一个类似C/S结构的系统。
如用户在操作某个功能时,需要在日志中输出 用户名 操作的方法名 操作时间 等
可以在開發好的系統中的功能對像外面套一層自己的對象實現和功能對像一樣的接口或者直接繼承功能對象,即使用代理模式,自己在代理對像中添加日誌就行。
1.採用 JDK 的動態代理
JDK
2.採用 CGLIB 字節碼增強庫
CGLIB
沒有過濾器,還有攔截器
意思是不修改源碼直接加入日誌列印功能嘛
我寫過一個使用反射來記錄資訊改變日誌的,很初級,但是需要嵌入到原始程式碼中。
使用java反射。
可以在開發好的系統中的功能對像外面套一層自己的對象實現和功能對像一樣的接口或者直接繼承功能對象,即使用代理模式,自己在代理對像中添加日誌就行。
1.採用
JDK
的動態代理2.採用
CGLIB
字節碼增強庫沒有過濾器,還有攔截器
意思是不修改源碼直接加入日誌列印功能嘛
我寫過一個使用反射來記錄資訊改變日誌的,很初級,但是需要嵌入到原始程式碼中。
使用java反射。