import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.URLUtil; import com.alibaba.fastjson.JSON; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.reflect.MethodSignature; import org.springframework.core.LocalVariableTableParameterNameDiscoverer; import org.springframework.core.annotation.Order; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Method; import java.util.Arrays; import java.util.HashMap; import jav
日志切面类
于 2022-03-22 14:46:22 首次发布
这是一个关于如何使用Spring AOP实现Web日志记录的示例。代码创建了一个名为`WebLogAspect`的切面类,用于拦截指定包下的所有控制器方法。切面类包含一个切入点表达式,定义了拦截的范围,并且在环绕通知中,记录了请求的开始和结束时间、URI、URL、IP、用户名、方法信息、方法描述、参数和返回结果。此外,还利用了Spring Security获取当前用户信息,并通过Hutool库处理URL。
摘要由CSDN通过智能技术生成