Thread.currentThread().getStackTrace()[1]是你当前方法执行堆栈
Thread.currentThread().getStackTrace()[2]就是上一级的方法堆栈 以此类推
StackTraceElement[] temp=Thread.currentThread().getStackTrace();
StackTraceElement a=(StackTraceElement)temp[2];
this.logger.info("----from--"+a.getMethodName()+"--method----------to use-refreshcart--------");
a.getMethodName() 这就是调用当前方法的方法名称
这里面 :通过获取堆栈可以不仅可以获取调用当前方法的方法,还可以获取方法的具体位置行数、调用方法的方法类型、 类名等;获取执行堆栈的方法这里是写在方法中的第一行的,如果这个方法前面还有很多其他方法,会导致方法堆栈层级越来越多,但不会影响当前方法的上一级的堆栈信息位置(一直在数组下标为2的位置)。