|
|
@@ -4,6 +4,7 @@ import java.util.Collection;
|
|
|
import java.util.Map;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
+import org.apache.commons.lang3.ArrayUtils;
|
|
|
import org.aspectj.lang.JoinPoint;
|
|
|
import org.aspectj.lang.annotation.AfterReturning;
|
|
|
import org.aspectj.lang.annotation.AfterThrowing;
|
|
|
@@ -149,7 +150,7 @@ public class LogAspect
|
|
|
if (log.isSaveRequestData())
|
|
|
{
|
|
|
// 获取参数的信息,传入到数据库中。
|
|
|
- setRequestValue(joinPoint, operLog);
|
|
|
+ setRequestValue(joinPoint, operLog, log.excludeParamNames());
|
|
|
}
|
|
|
// 是否需要保存response,参数和值
|
|
|
if (log.isSaveResponseData() && StringUtils.isNotNull(jsonResult))
|
|
|
@@ -164,12 +165,12 @@ public class LogAspect
|
|
|
* @param operLog 操作日志
|
|
|
* @throws Exception 异常
|
|
|
*/
|
|
|
- private void setRequestValue(JoinPoint joinPoint, SysOperLog operLog) throws Exception
|
|
|
+ private void setRequestValue(JoinPoint joinPoint, SysOperLog operLog, String[] excludeParamNames) throws Exception
|
|
|
{
|
|
|
Map<String, String[]> map = ServletUtils.getRequest().getParameterMap();
|
|
|
if (StringUtils.isNotEmpty(map))
|
|
|
{
|
|
|
- String params = JSONObject.toJSONString(map, excludePropertyPreFilter());
|
|
|
+ String params = JSONObject.toJSONString(map, excludePropertyPreFilter(excludeParamNames));
|
|
|
operLog.setOperParam(StringUtils.substring(params, 0, 2000));
|
|
|
}
|
|
|
else
|
|
|
@@ -177,7 +178,7 @@ public class LogAspect
|
|
|
Object args = joinPoint.getArgs();
|
|
|
if (StringUtils.isNotNull(args))
|
|
|
{
|
|
|
- String params = argsArrayToString(joinPoint.getArgs());
|
|
|
+ String params = argsArrayToString(joinPoint.getArgs(), excludeParamNames);
|
|
|
operLog.setOperParam(StringUtils.substring(params, 0, 2000));
|
|
|
}
|
|
|
}
|
|
|
@@ -186,15 +187,15 @@ public class LogAspect
|
|
|
/**
|
|
|
* 忽略敏感属性
|
|
|
*/
|
|
|
- public PropertyPreFilters.MySimplePropertyPreFilter excludePropertyPreFilter()
|
|
|
+ public PropertyPreFilters.MySimplePropertyPreFilter excludePropertyPreFilter(String[] excludeParamNames)
|
|
|
{
|
|
|
- return new PropertyPreFilters().addFilter().addExcludes(EXCLUDE_PROPERTIES);
|
|
|
+ return new PropertyPreFilters().addFilter().addExcludes(ArrayUtils.addAll(EXCLUDE_PROPERTIES, excludeParamNames));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 参数拼装
|
|
|
*/
|
|
|
- private String argsArrayToString(Object[] paramsArray)
|
|
|
+ private String argsArrayToString(Object[] paramsArray, String[] excludeParamNames)
|
|
|
{
|
|
|
String params = "";
|
|
|
if (paramsArray != null && paramsArray.length > 0)
|
|
|
@@ -205,7 +206,7 @@ public class LogAspect
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- Object jsonObj = JSONObject.toJSONString(o, excludePropertyPreFilter());
|
|
|
+ Object jsonObj = JSONObject.toJSONString(o, excludePropertyPreFilter(excludeParamNames));
|
|
|
params += jsonObj.toString() + " ";
|
|
|
}
|
|
|
catch (Exception e)
|