diff --git a/eladmin-logging/src/main/java/me/zhengjie/aspect/LogAspect.java b/eladmin-logging/src/main/java/me/zhengjie/aspect/LogAspect.java index 53e4532b..88ffab29 100644 --- a/eladmin-logging/src/main/java/me/zhengjie/aspect/LogAspect.java +++ b/eladmin-logging/src/main/java/me/zhengjie/aspect/LogAspect.java @@ -29,6 +29,7 @@ import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.springframework.stereotype.Component; + import javax.servlet.http.HttpServletRequest; /** @@ -65,11 +66,15 @@ public class LogAspect { public Object logAround(ProceedingJoinPoint joinPoint) throws Throwable { Object result; currentTime.set(System.currentTimeMillis()); - result = joinPoint.proceed(); - Log log = new Log("INFO",System.currentTimeMillis() - currentTime.get()); - currentTime.remove(); + Log log; + try { + result = joinPoint.proceed(); + log = new Log("INFO", System.currentTimeMillis() - currentTime.get()); + } finally { + currentTime.remove(); + } HttpServletRequest request = RequestHolder.getHttpServletRequest(); - logService.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request),joinPoint, log); + logService.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request), joinPoint, log); return result; } @@ -77,21 +82,21 @@ public class LogAspect { * 配置异常通知 * * @param joinPoint join point for advice - * @param e exception + * @param e exception */ @AfterThrowing(pointcut = "logPointcut()", throwing = "e") public void logAfterThrowing(JoinPoint joinPoint, Throwable e) { - Log log = new Log("ERROR",System.currentTimeMillis() - currentTime.get()); + Log log = new Log("ERROR", System.currentTimeMillis() - currentTime.get()); currentTime.remove(); log.setExceptionDetail(ThrowableUtil.getStackTrace(e).getBytes()); HttpServletRequest request = RequestHolder.getHttpServletRequest(); - logService.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request), (ProceedingJoinPoint)joinPoint, log); + logService.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request), (ProceedingJoinPoint) joinPoint, log); } public String getUsername() { try { return SecurityUtils.getCurrentUsername(); - }catch (Exception e){ + } catch (Exception e) { return ""; } }