作者 RuoYi

日志记录过滤特殊对象,防止转换异常

@@ -2,6 +2,8 @@ package com.ruoyi.framework.aspectj; @@ -2,6 +2,8 @@ package com.ruoyi.framework.aspectj;
2 2
3 import java.lang.reflect.Method; 3 import java.lang.reflect.Method;
4 import java.util.Map; 4 import java.util.Map;
  5 +import javax.servlet.http.HttpServletRequest;
  6 +import javax.servlet.http.HttpServletResponse;
5 import org.aspectj.lang.JoinPoint; 7 import org.aspectj.lang.JoinPoint;
6 import org.aspectj.lang.Signature; 8 import org.aspectj.lang.Signature;
7 import org.aspectj.lang.annotation.AfterReturning; 9 import org.aspectj.lang.annotation.AfterReturning;
@@ -192,7 +194,7 @@ public class LogAspect @@ -192,7 +194,7 @@ public class LogAspect
192 { 194 {
193 for (int i = 0; i < paramsArray.length; i++) 195 for (int i = 0; i < paramsArray.length; i++)
194 { 196 {
195 - if (!(paramsArray[i] instanceof MultipartFile)) 197 + if (!isFilterObject(paramsArray[i]))
196 { 198 {
197 Object jsonObj = JSON.toJSON(paramsArray[i]); 199 Object jsonObj = JSON.toJSON(paramsArray[i]);
198 params += jsonObj.toString() + " "; 200 params += jsonObj.toString() + " ";
@@ -201,4 +203,15 @@ public class LogAspect @@ -201,4 +203,15 @@ public class LogAspect
201 } 203 }
202 return params.trim(); 204 return params.trim();
203 } 205 }
  206 +
  207 + /**
  208 + * 判断是否需要过滤的对象。
  209 + *
  210 + * @param o 对象信息。
  211 + * @return 如果是需要过滤的对象,则返回true;否则返回false。
  212 + */
  213 + public boolean isFilterObject(final Object o)
  214 + {
  215 + return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse;
  216 + }
204 } 217 }