修复日志记录报错问题

pull/22/head
rays 2021-07-09 10:11:47 +08:00
parent 7d208ccbcc
commit 9ae7bba7ce
1 changed files with 12 additions and 10 deletions

View File

@ -24,6 +24,7 @@
*/ */
package cn.stylefeng.roses.kernel.log.requestapi; package cn.stylefeng.roses.kernel.log.requestapi;
import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.log.api.LogRecordApi; import cn.stylefeng.roses.kernel.log.api.LogRecordApi;
import cn.stylefeng.roses.kernel.log.api.constants.LogConstants; import cn.stylefeng.roses.kernel.log.api.constants.LogConstants;
import cn.stylefeng.roses.kernel.log.api.constants.LogFileConstants; import cn.stylefeng.roses.kernel.log.api.constants.LogFileConstants;
@ -84,15 +85,16 @@ public class RequestApiLogRecordAop implements Ordered {
Object result = point.proceed(); Object result = point.proceed();
try { try {
if (ObjectUtil.isNotEmpty(result)) {
// 获取接口上@PostResource或者@GetResource的name属性和requiredLogin属性
Map<String, Object> annotationProp = getAnnotationProp(point);
// 获取接口上@PostResource或者@GetResource的name属性和requiredLogin属性 // 获取字段的名
Map<String, Object> annotationProp = getAnnotationProp(point); Map<String, Object> args = getFieldsName(point);
// 获取字段的名 // 记录日志
Map<String, Object> args = getFieldsName(point); recordLog(args, result, annotationProp);
}
// 记录日志
recordLog(args, result, annotationProp);
} catch (Exception e) { } catch (Exception e) {
log.error("日志记录没有记录成功!", e); log.error("日志记录没有记录成功!", e);
} }
@ -109,7 +111,7 @@ public class RequestApiLogRecordAop implements Ordered {
* @date 2020/12/22 21:18 * @date 2020/12/22 21:18
*/ */
private Map<String, Object> getAnnotationProp(ProceedingJoinPoint joinPoint) { private Map<String, Object> getAnnotationProp(ProceedingJoinPoint joinPoint) {
MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature(); MethodSignature methodSignature = (MethodSignature)joinPoint.getSignature();
Method method = methodSignature.getMethod(); Method method = methodSignature.getMethod();
// 通过map封装参数和参数值key参数名value是参数值 // 通过map封装参数和参数值key参数名value是参数值
@ -224,7 +226,7 @@ public class RequestApiLogRecordAop implements Ordered {
// 解决上传文件接口aop记录日志报错 // 解决上传文件接口aop记录日志报错
if (args[i] instanceof MultipartFile && args[i] != null) { if (args[i] instanceof MultipartFile && args[i] != null) {
// 根据参数名只记录文件名 // 根据参数名只记录文件名
paramMap.put(parameterNames[i], ((MultipartFile) args[i]).getOriginalFilename()); paramMap.put(parameterNames[i], ((MultipartFile)args[i]).getOriginalFilename());
} else { } else {
paramMap.put(parameterNames[i], args[i]); paramMap.put(parameterNames[i], args[i]);
} }
@ -243,7 +245,7 @@ public class RequestApiLogRecordAop implements Ordered {
for (int i = 0; i < args.length; i++) { for (int i = 0; i < args.length; i++) {
if (args[i] instanceof MultipartFile && args[i] != null) { if (args[i] instanceof MultipartFile && args[i] != null) {
// 根据参数名只记录文件名 // 根据参数名只记录文件名
paramMap.put("args" + i, ((MultipartFile) args[i]).getOriginalFilename()); paramMap.put("args" + i, ((MultipartFile)args[i]).getOriginalFilename());
} else { } else {
paramMap.put("args" + i, args[i]); paramMap.put("args" + i, args[i]);
} }