如何在一个已经开发好的java系统中,为某个功能下的方法,添加用户操作日志呢?没有使用spring,也无法用过滤器,是一个类似C/S结构的系统。
如用户在操作某个功能时,需要在日志中输出 用户名 操作的方法名 操作时间 等
可以在开发好的系统中的功能对象外面套一层自己的对象实现和功能对象一样的接口或者直接继承功能对象,即使用代理模式,自己在代理对象中添加日志就行。
1.采用 JDK 的动态代理JDK 的动态代理
JDK
2.采用 CGLIB
CGLIB
没有过滤器,还有拦截器
意思是不修改源码直接加入日志打印功能嘛
我写过一个使用反射来记录信息改变日志的,很初级,但是需要嵌入到原代码中。
使用java反射。
可以在开发好的系统中的功能对象外面套一层自己的对象实现和功能对象一样的接口或者直接继承功能对象,即使用代理模式,自己在代理对象中添加日志就行。
1.采用
JDK
的动态代理JDK
的动态代理2.采用
2.采用CGLIB
CGLIB
字节码增强库🎜没有过滤器,还有拦截器
意思是不修改源码直接加入日志打印功能嘛
我写过一个使用反射来记录信息改变日志的,很初级,但是需要嵌入到原代码中。
使用java反射。