AOP日志记录和数据库查询

时间:2017-08-07 10:21:07

标签: java spring logging aop

我试图通过使用AspectJ将查询中的参数记录到数据库中。我尝试这样做的方法是在调用java.sql.CallableStatement期间跳入,特别是设置者。

我所拥有的一个例子就是String被设置为CallableStatement中带有parameterIndex的参数。这基本上就是我想要捕捉的内容。

// Set the PL/SQL parameters
callableStatement.setString(1, applicationName);

在我的Aspect课程中,我一直在尝试(无济于事)而只是回过头来做什么'来自``CallableStatement`虽然最终我想记录课堂上的所有设置者。我的方法如下。

@Around("call(* java.sql.CallableStatement.*))")
public void logGetters(ProceedingJoinPoint jp) throws Throwable{
LOGGER.info("QWERTY" + "Arguments: " + Arrays.toString(jp.getArgs()) + "Method: " + jp.getSignature().getName());
}

我确实有其他AOP方法正常工作,因此基本设置很好,所以它是我的注释和错误所在方法的主体。我对Spring AOP很陌生,所以有些建议'会有用(原谅双关语)!我首先需要@Pointcut还是我可以修改@Around以使其按照我的意愿运作,或者我的方法是完全错误的?

0 个答案:

没有答案