浏览代码

格式化

RuoYi 7 年之前
父节点
当前提交
2e9445b29e
共有 1 个文件被更改,包括 138 次插入124 次删除
  1. 138 124
      src/main/java/com/ruoyi/framework/aspectj/LogAspect.java

+ 138 - 124
src/main/java/com/ruoyi/framework/aspectj/LogAspect.java

@@ -36,128 +36,142 @@ import com.ruoyi.project.system.user.domain.User;
 @Aspect
 @Component
 @EnableAsync
-public class LogAspect {
-	private static final Logger log = LoggerFactory.getLogger(LogAspect.class);
-
-	@Autowired
-	private IOperLogService operLogService;
-
-	// 配置织入点
-	@Pointcut("@annotation(com.ruoyi.framework.aspectj.lang.annotation.Log)")
-	public void logPointCut() {
-	}
-
-	/**
-	 * 前置通知 用于拦截操作
-	 *
-	 * @param joinPoint
-	 *            切点
-	 */
-	@AfterReturning(pointcut = "logPointCut()")
-	public void doBefore(JoinPoint joinPoint) {
-		handleLog(joinPoint, null);
-	}
-
-	/**
-	 * 拦截异常操作
-	 * 
-	 * @param joinPoint
-	 * @param e
-	 */
-	@AfterThrowing(value = "logPointCut()", throwing = "e")
-	public void doAfter(JoinPoint joinPoint, Exception e) {
-		handleLog(joinPoint, e);
-	}
-
-	@Async
-	private void handleLog(final JoinPoint joinPoint, final Exception e) {
-		try {
-			// 获得注解
-			Log controllerLog = getAnnotationLog(joinPoint);
-			if (controllerLog == null) {
-				return;
-			}
-
-			// 获取当前的用户
-			User currentUser = ShiroUtils.getUser();
-
-			// *========数据库日志=========*//
-			OperLog operLog = new OperLog();
-			operLog.setStatus(UserConstants.NORMAL);
-			// 请求的地址
-			String ip = ShiroUtils.getIp();
-			operLog.setOperIp(ip);
-			operLog.setOperUrl(ServletUtils.getRequest().getRequestURI());
-			if (currentUser != null) {
-				operLog.setLoginName(currentUser.getLoginName());
-				operLog.setDeptName(currentUser.getDept().getDeptName());
-			}
-
-			if (e != null) {
-				operLog.setStatus(UserConstants.EXCEPTION);
-				operLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, 2000));
-			}
-			// 设置方法名称
-			String className = joinPoint.getTarget().getClass().getName();
-			String methodName = joinPoint.getSignature().getName();
-			operLog.setMethod(className + "." + methodName + "()");
-			// 处理设置注解上的参数
-			getControllerMethodDescription(controllerLog, operLog);
-			// 保存数据库
-			operLogService.insertOperlog(operLog);
-		} catch (Exception exp) {
-			// 记录本地异常日志
-			log.error("==前置通知异常==");
-			log.error("异常信息:{}", exp.getMessage());
-			exp.printStackTrace();
-		}
-	}
-
-	/**
-	 * 获取注解中对方法的描述信息 用于Controller层注解
-	 * 
-	 * @param joinPoint
-	 *            切点
-	 * @return 方法描述
-	 * @throws Exception
-	 */
-	public void getControllerMethodDescription(Log log, OperLog operLog) throws Exception {
-		// 设置action动作
-		operLog.setAction(log.action());
-		// 设置标题
-		operLog.setTitle(log.title());
-		// 设置channel
-		operLog.setChannel(log.channel());
-		// 是否需要保存request,参数和值
-		if (log.isSaveRequestData()) {
-			// 获取参数的信息,传入到数据库中。
-			setRequestValue(operLog);
-		}
-	}
-
-	/**
-	 * 获取请求的参数,放到log中
-	 * 
-	 * @param operLog
-	 * @param request
-	 */
-	private void setRequestValue(OperLog operLog) {
-		Map<String, String[]> map = ServletUtils.getRequest().getParameterMap();
-		String params = JSONObject.toJSONString(map);
-		operLog.setOperParam(StringUtils.substring(params, 0, 255));
-	}
-
-	/**
-	 * 是否存在注解,如果存在就获取
-	 */
-	private Log getAnnotationLog(JoinPoint joinPoint) throws Exception {
-		Signature signature = joinPoint.getSignature();
-		MethodSignature methodSignature = (MethodSignature) signature;
-		Method method = methodSignature.getMethod();
-
-		if (method != null) {
-			return method.getAnnotation(Log.class);
-		}
-		return null;
-	}
+public class LogAspect
+{
+    private static final Logger log = LoggerFactory.getLogger(LogAspect.class);
+
+    @Autowired
+    private IOperLogService operLogService;
+
+    // 配置织入点
+    @Pointcut("@annotation(com.ruoyi.framework.aspectj.lang.annotation.Log)")
+    public void logPointCut()
+    {
+    }
+
+    /**
+     * 前置通知 用于拦截操作
+     *
+     * @param joinPoint 切点
+     */
+    @AfterReturning(pointcut = "logPointCut()")
+    public void doBefore(JoinPoint joinPoint)
+    {
+        handleLog(joinPoint, null);
+    }
+
+    /**
+     * 拦截异常操作
+     * 
+     * @param joinPoint
+     * @param e
+     */
+    @AfterThrowing(value = "logPointCut()", throwing = "e")
+    public void doAfter(JoinPoint joinPoint, Exception e)
+    {
+        handleLog(joinPoint, e);
+    }
+
+    @Async
+    private void handleLog(final JoinPoint joinPoint, final Exception e)
+    {
+        try
+        {
+            // 获得注解
+            Log controllerLog = getAnnotationLog(joinPoint);
+            if (controllerLog == null)
+            {
+                return;
+            }
+
+            // 获取当前的用户
+            User currentUser = ShiroUtils.getUser();
+
+            // *========数据库日志=========*//
+            OperLog operLog = new OperLog();
+            operLog.setStatus(UserConstants.NORMAL);
+            // 请求的地址
+            String ip = ShiroUtils.getIp();
+            operLog.setOperIp(ip);
+            operLog.setOperUrl(ServletUtils.getRequest().getRequestURI());
+            if (currentUser != null)
+            {
+                operLog.setLoginName(currentUser.getLoginName());
+                operLog.setDeptName(currentUser.getDept().getDeptName());
+            }
+
+            if (e != null)
+            {
+                operLog.setStatus(UserConstants.EXCEPTION);
+                operLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, 2000));
+            }
+            // 设置方法名称
+            String className = joinPoint.getTarget().getClass().getName();
+            String methodName = joinPoint.getSignature().getName();
+            operLog.setMethod(className + "." + methodName + "()");
+            // 处理设置注解上的参数
+            getControllerMethodDescription(controllerLog, operLog);
+            // 保存数据库
+            operLogService.insertOperlog(operLog);
+        }
+        catch (Exception exp)
+        {
+            // 记录本地异常日志
+            log.error("==前置通知异常==");
+            log.error("异常信息:{}", exp.getMessage());
+            exp.printStackTrace();
+        }
+    }
+
+    /**
+     * 获取注解中对方法的描述信息 用于Controller层注解
+     * 
+     * @param joinPoint 切点
+     * @return 方法描述
+     * @throws Exception
+     */
+    public void getControllerMethodDescription(Log log, OperLog operLog) throws Exception
+    {
+        // 设置action动作
+        operLog.setAction(log.action());
+        // 设置标题
+        operLog.setTitle(log.title());
+        // 设置channel
+        operLog.setChannel(log.channel());
+        // 是否需要保存request,参数和值
+        if (log.isSaveRequestData())
+        {
+            // 获取参数的信息,传入到数据库中。
+            setRequestValue(operLog);
+        }
+    }
+
+    /**
+     * 获取请求的参数,放到log中
+     * 
+     * @param operLog
+     * @param request
+     */
+    private void setRequestValue(OperLog operLog)
+    {
+        Map<String, String[]> map = ServletUtils.getRequest().getParameterMap();
+        String params = JSONObject.toJSONString(map);
+        operLog.setOperParam(StringUtils.substring(params, 0, 255));
+    }
+
+    /**
+     * 是否存在注解,如果存在就获取
+     */
+    private Log getAnnotationLog(JoinPoint joinPoint) throws Exception
+    {
+        Signature signature = joinPoint.getSignature();
+        MethodSignature methodSignature = (MethodSignature) signature;
+        Method method = methodSignature.getMethod();
+
+        if (method != null)
+        {
+            return method.getAnnotation(Log.class);
+        }
+        return null;
+    }
 }