From 67bfacb03541ef2ee4c1496f4cc7600014cd1005 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 18 四月 2023 17:37:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
driver/guns-admin/src/main/java/com/supersavedriving/driver/core/common/aspect/ServiceLogAspect.java | 79 ++++++++++++++++++++-------------------
1 files changed, 41 insertions(+), 38 deletions(-)
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/core/common/aspect/ServiceLogAspect.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/core/common/aspect/ServiceLogAspect.java
index fdd682f..8a848e8 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/core/common/aspect/ServiceLogAspect.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/core/common/aspect/ServiceLogAspect.java
@@ -13,8 +13,8 @@
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
-@Aspect
-@Component
+//@Aspect
+//@Component
public class ServiceLogAspect {
Logger logger = LoggerFactory.getLogger("ServiceLog");
@@ -31,42 +31,45 @@
@Around("serviceLog()")
@SuppressWarnings("unchecked")
public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
- long starTime = System.currentTimeMillis();
- //通过反射获取被调用方法的Class
- Class type = joinPoint.getSignature().getDeclaringType();
- //获取类名
- String typeName = type.getSimpleName();
- //方法名
- String methodName = joinPoint.getSignature().getName();
- //获取参数列表
- Object[] args = joinPoint.getArgs();
- //参数Class的数组
- Class[] clazz = new Class[args.length];
- for (int i = 0; i < args.length; i++) {
- clazz[i] = args[i].getClass();
+ try {
+ long starTime = System.currentTimeMillis();
+ //通过反射获取被调用方法的Class
+ Class type = joinPoint.getSignature().getDeclaringType();
+ //获取类名
+ String typeName = type.getSimpleName();
+ //方法名
+ String methodName = joinPoint.getSignature().getName();
+ //获取参数列表
+ Object[] args = joinPoint.getArgs();
+ //参数Class的数组
+ Class[] clazz = new Class[args.length];
+ for (int i = 0; i < args.length; i++) {
+ clazz[i] = args[i].getClass();
+ }
+ //通过反射获取调用的方法method
+ Method method = type.getMethod(methodName, clazz);
+ ServiceLog serviceLog = method.getAnnotation(ServiceLog.class);
+ //获取方法的参数
+ Parameter[] parameters = method.getParameters();
+ JSONObject jsonObject = new JSONObject();
+ for (int i = 0; i < parameters.length; i++) {
+ Parameter parameter = parameters[i];
+ String name = parameter.getName();
+ jsonObject.put(name, args[i]);
+ }
+ //执行结果
+ //执行目标方法,获取执行结果
+ Object res = joinPoint.proceed();
+ logger.debug("调用{}.{}方法成功\n" +
+ "接口名称:{}\n" +
+ "接口地址:{}\n" +
+ "耗时:{}ms\n" +
+ "参数为:{}\n" +
+ "返回结果:{}", typeName, methodName, serviceLog.name(), serviceLog.url(),
+ (System.currentTimeMillis() - starTime), jsonObject.toJSONString(), JSONObject.toJSONString(res));
+ }catch (Exception e){
+ e.printStackTrace();
}
- //通过反射获取调用的方法method
- Method method = type.getMethod(methodName, clazz);
- ServiceLog serviceLog = method.getAnnotation(ServiceLog.class);
- //获取方法的参数
- Parameter[] parameters = method.getParameters();
- JSONObject jsonObject = new JSONObject();
- for (int i = 0; i < parameters.length; i++) {
- Parameter parameter = parameters[i];
- String name = parameter.getName();
- jsonObject.put(name, args[i]);
- }
- //执行结果
- //执行目标方法,获取执行结果
- Object res = joinPoint.proceed();
- logger.debug("调用{}.{}方法成功\n" +
- "接口名称:{}\n" +
- "接口地址:{}\n" +
- "耗时:{}ms\n" +
- "参数为:{}\n" +
- "返回结果:{}", typeName, methodName, serviceLog.name(), serviceLog.url(),
- (System.currentTimeMillis() - starTime), jsonObject.toJSONString(), JSONObject.toJSONString(res));
- //返回执行结果
- return res;
+ return joinPoint.proceed();
}
}
--
Gitblit v1.7.1