モジュールをより適切に分析するために、AspectJ ロギングをモジュールに実装しようとしています。私のアプリケーションはすでに log4J フレームワークを使用しています。
別のアプリケーションで AspectJ クラスを実行すると正常に動作しますが、アプリケーションと統合すると動作しません。ここで私がしたこと
applicationContext.xml
<aop:aspectj-autoproxy/>
<bean id="logAspectj" class="com.test.aspect.LoggingAspect"/>
LoggingAspect クラス
@Component
@Aspect
public class LoggingAspect {
private final Log log = LogFactory.getLog(this.getClass());
@Around("execution(public void com.db.TestMarshaller.saveDoc(..))")
public Object logTimeMethod(ProceedingJoinPoint joinPoint) throws Throwable {
StopWatch stopWatch = new StopWatch();
stopWatch.start();
Object retVal = joinPoint.proceed();
stopWatch.stop();
StringBuffer logMessage = new StringBuffer();
logMessage.append(joinPoint.getTarget().getClass().getName());
logMessage.append(".");
log.info(logMessage.toString());
return retVal;
}
}
注: ここで、TestMarshaller は Spring 経由で公開されません。
Log4j 用の特定の AspectJ 設定はありますか?