我已完成所有实施建议。 基本上我有四个不同的模块(核心,服务层,休息webservices,Web基础项目) 我创建了我的AOP文件( aop.xml )是在我的网络基础项目 / web / resources / META-INF 中创建的。 我的网络基础项目在内部依赖于服务层项目。
所以我想在两个项目中应用我的记录器,但它只适用于Web基础项目而不是形成服务层项目。
请查看我的代码如果我错过了一些东西。
我的 aop.xml // aop的位置是Web应用程序扩展: resources / META-INF
<weaver options="-Xset:weaveJavaxPackages=true">
<include within="com.xyz.storefront..*" />
<include within="com.xyz.facades..*" />
</weaver>
<aspects>
<aspect class="com.xyz.storefront.aop.CustomLogger" />
</aspects>
我的Aspect代码
@Aspect
public class CustomLogger {
private final Logger log = Logger.getLogger(getClass());
@After("execution(* com.xyz.storefront.controllers.pages.AjaxRequestController.addProductToCart(..))")
public void addProductToCartAfterBefore(final JoinPoint point) {
log.info(point.getSignature().getName() + " Before..." + new Date());
}
@Before("execution(* com.xyz.storefront.controllers.pages.AjaxRequestController.addProductToCart(..))")
public void addProductToCartAfter(final JoinPoint point) {
log.info(point.getSignature().getName() + " After..." + new Date());
}
@Pointcut("execution(* com.xyz.facades.order.impl.DefaultMswCartFacade.addToCartNew(..))")
public void DefaultMswCartFacade(final JoinPoint point) {
log.info(point.getSignature().getName() + " After..." + new Date());
}
}
谢谢,Vishal Patil