如何获取Spring 414中的实际行号来跟踪异常?

时间:2016-01-15 10:24:52

标签: spring aspectj

我在Spring MVC框架中的应用程序中实现了AspectJ。我可以跟踪函数调用的入口点和退出点,但无法从源文件中获取实际行号。它显示行号Logger类放置切入点和建议的位置。

2 个答案:

答案 0 :(得分:1)

也许您的问题与this one类似,所以希望解决方案与您相同:

joinPoint.getSourceLocation().getLine()

这适用于真正的AspectJ(通过LTW),但也许不适用于Spring AOP,它只是某种基于代理的" AOP lite"框架。有关如何为AspectJ配置Spring的更多信息,请参阅用户手册,10.8, Using AspectJ with Spring applications部分。

答案 1 :(得分:0)

我不知道此任务是否有特殊的AspectJ功能,如果没有,那么您可以获得StackTrace然后使用StackTraceElement.getLineNumber()

//StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
Exception e =...
e.getStackTraceElement[]
stackTrace[stackTrace.length - 1].getLineNumber();