springboot aop日志打印

package com.ziku.ms.weixin.config;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.util.Enumeration;

@Aspect
@Component
public class AspectConfig {

private  static  final Logger logger= LoggerFactory.getLogger(AspectConfig.class);


@Pointcut("execution(public * com.ziku.ms.weixin.web..*(..))")
public void log(){

}
@Before("log()")
public void doBefore(JoinPoint joinPoint){
    logger.info("###############请求开始###################");
    ServletRequestAttributes attributes= (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request=attributes.getRequest();
    //url
    logger.info("请求地址url:{}",request.getRequestURI());
    //model
    logger.info("请求方式mothod:{}",request.getMethod());
    //ip
    logger.info("请求ip:{}",request.getRemoteAddr());
    //类方法
    logger.info("请求方法class_method:{}",joinPoint.getSignature().getDeclaringTypeName()+"."+joinPoint.getSignature().getName());
    //参数
    logger.info("请求参数args:{}",joinPoint.getArgs());
    Enumeration<String> names = request.getParameterNames();

    while (names.hasMoreElements()){
        String name=names.nextElement();
        logger.info("name:{}",name);
        logger.info("value:{}",request.getParameter(name));
    }

}

@After("log()")
public void doAfter(){

}

@AfterReturning(pointcut = "log()",returning = "object")
public void doAfterRetruning(Object object){
    logger.info("服务器响应response:{}",object);
    logger.info("###############请求结束###################");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值