@Override public String getConversationId() { return RequestContextHolder.currentRequestAttributes().getSessionId(); }
@Override public String getConversationId() { return RequestContextHolder.currentRequestAttributes().getSessionId(); }
RequestAttributes attributes = RequestContextHolder.getRequestAttributes(); String sessionId = attributes.getSessionId();
@Override public String getSessionId() { String sessionId = "none"; try { sessionId = RequestContextHolder.currentRequestAttributes().getSessionId(); } catch (Exception e) { // ignore exceptions and use 'none' } return sessionId; }
@Override public String getConversationId() { return RequestContextHolder.currentRequestAttributes().getSessionId(); }
@Override public String getConversationId() { return RequestContextHolder.currentRequestAttributes().getSessionId(); }
@Override public String getUserId() { return RequestContextHolder.currentRequestAttributes().getSessionId(); }
/** * Attaches assertion from current session to the {@link SecureRequest}. * @param request * @return {@link SecureRequest} with attached assertion */ protected SecureRequest attachId(SecureRequest request) { String sessionId = RequestContextHolder.getRequestAttributes()!=null? RequestContextHolder.getRequestAttributes().getSessionId():null; if (sessionId != null) { request.addHeaders(new HeaderField(HeaderFieldTypes.TYPE_SESSION_ID, sessionId)); } return request; }
@Around("pointcut()") public Object log(ProceedingJoinPoint joinPoint) throws Throwable { Method method = this.getSpecificmethod(joinPoint); // 获取sessionId RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); // 获取注解 Log log = this.getMethodAnnotations(method, Log.class); if (Objects.isNull(log)) { log = AnnotationUtils.findAnnotation(joinPoint.getTarget().getClass(), Log.class); } // 获取日志输出前缀 String prefix = getPrefix(log, method, requestAttributes.getSessionId()); // 执行方法前输出日志 logBefore(log, prefix, method, joinPoint.getArgs()); // 执行方法,并获取返回值 Object result = joinPoint.proceed(); // 执行方法后输出日志 logAfter(log, prefix, result); return result; }