import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import org.slf4j.impl.Log4jLoggerAdapter;
import org.springframework.cglib.proxy.Enhancer;
import org.springframework.cglib.proxy.MethodInterceptor;
import org.springframework.cglib.proxy.MethodProxy;
/**
* 代理日志工厂类
*
* @author hyl 279241400@qq.com 2019年4月25日下午7:39:33
*
*/
public final class LogProxyFactory {
public final static LogProxy getProXy(Class<?> cls) {
try {
Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(LogProxy.class);
enhancer.setCallback(new MethodInterceptor() {
@Override
public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable {
Field nameField = Log4jLoggerAdapter.class.getDeclaredField("FQCN");
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
modifiersField.se
sfj4jlog代理日志,封装SLF4J/Log4j,不再处处定义logger变量
最新推荐文章于 2024-07-23 21:43:13 发布