SpringBoot用SpringAOP实现页面日志访问功能
Posted guroer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot用SpringAOP实现页面日志访问功能相关的知识,希望对你有一定的参考价值。
每一个页面写请求日志太麻烦了,用AOP很方便的实现日志记录功能
@Aspect @Component public class LogAspect private final static Logger LOGGER = LoggerFactory.getLogger(LogAspect.class); @Pointcut("execution(public * com.bao.cms.controller..*.*(..))") public void controllerMethod() @Before("controllerMethod()") public void LogRequestInfo(JoinPoint joinPoint) throws Exception ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); StringBuffer requestLog = new StringBuffer(); requestLog.append("request:") .append("URL = " + request.getRequestURI() + ",\\t") .append("HTTP_METHOD = " + request.getMethod() + ",\\t") .append("IP = " + request.getRemoteAddr() + ",\\t") .append("CLASS_METHOD = " + joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName() + ",\\t"); if(joinPoint.getArgs().length == 0) requestLog.append("ARGS = "); else requestLog.append("ARGS = " + new ObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL) .writeValueAsString(joinPoint.getArgs()[0]) + ""); LOGGER.info(requestLog.toString());
参考
https://www.cnblogs.com/wangshen31/p/9379197.html
https://blog.csdn.net/qq_35206261/article/details/81945618
以上是关于SpringBoot用SpringAOP实现页面日志访问功能的主要内容,如果未能解决你的问题,请参考以下文章