|
|
@@ -41,6 +41,8 @@ import org.springframework.web.context.request.RequestContextHolder;
|
|
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.io.PrintWriter;
|
|
|
+import java.io.StringWriter;
|
|
|
import java.util.Collections;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
@@ -106,7 +108,17 @@ public class LogRequestAop {
|
|
|
|
|
|
@AfterThrowing(pointcut = "requestLog()", throwing = "ex")
|
|
|
public void afterThrowing(JoinPoint point, Exception ex) {
|
|
|
- logRecord(point, ex.toString());
|
|
|
+ logRecord(point, getStackTraceString(ex));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取异常的完整堆栈信息
|
|
|
+ */
|
|
|
+ private String getStackTraceString(Exception ex) {
|
|
|
+ StringWriter sw = new StringWriter();
|
|
|
+ PrintWriter pw = new PrintWriter(sw);
|
|
|
+ ex.printStackTrace(pw);
|
|
|
+ return sw.toString();
|
|
|
}
|
|
|
|
|
|
private void logRecord(JoinPoint point, String message) {
|