是否可以创建 log.info 切入点?
Is it posible to create a log.info pointcut?
我以前从未尝试过 AOP,想知道我是否可以创建一个切入点来捕获 Spring.
中 log.info(...) 的执行
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
@Aspect
public class AfterFinallyExample {
@After("execution(* org.slf4j.*.*(..))")
public void sendLogParameterToServer() {
// ...
}
}
如果可行,是否是一种好的做法?
你能用 AOP 来做到这一点吗,是的,你可以。你能做到吗,默认的,Spring AOP 不,你不能。
Spring AOP 默认情况下基于代理,它只会为 Spring 管理的 bean 创建代理。由于记录器不受 Spring 管理(除非您注入所有记录器)这将不起作用。
您将需要求助于具有编译或加载时织入功能的成熟 AspectJ。这将根据切入点和方面更改 类 的实际字节码。
我以前从未尝试过 AOP,想知道我是否可以创建一个切入点来捕获 Spring.
中 log.info(...) 的执行import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
@Aspect
public class AfterFinallyExample {
@After("execution(* org.slf4j.*.*(..))")
public void sendLogParameterToServer() {
// ...
}
}
如果可行,是否是一种好的做法?
你能用 AOP 来做到这一点吗,是的,你可以。你能做到吗,默认的,Spring AOP 不,你不能。
Spring AOP 默认情况下基于代理,它只会为 Spring 管理的 bean 创建代理。由于记录器不受 Spring 管理(除非您注入所有记录器)这将不起作用。
您将需要求助于具有编译或加载时织入功能的成熟 AspectJ。这将根据切入点和方面更改 类 的实际字节码。