SpringBoot-注解日志 Aop注解切入点

@Configuration
@Aspect
public class LogAop {

    @Autowired
    private LogMapper logMapper;
    //自动装配request
    @Autowired
    private HttpServletRequest request;
    //日志对象
    private Logger logger = LoggerFactory.getLogger(LogAop.class);


    //注解切入点
    @Pointcut("@annotation(com.baizhi.annotation.Log)")
    public void logPoint(){

    }

    /**
     * joinPoint 连接点对象
     * @param joinPoint
     */
    @After(" logPoint()")
    public void logInsert(JoinPoint joinPoint){
    
        //获得方法签名,通过签名获得该连接点的方法
        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
        Method method = signature.getMethod();
        
        //通过该方法获得标注的自定义注解
        Log annotation = method.getAnnotation(Log.class);
        String value = annotation.value();
        logger.debug(value);
        
        //装填数据
        com.baizhi.entity.Log log = new com.baizhi.entity.Log();
        log.setLogDate(new Date());
        log.setLogContent(value);
        log.setLogIp("");
        
        //自动装配HttpServletRequest  获得session
        HttpSession session = request.getSession();
        Admin admin = (Admin) session.getAttribute("admin");
        log.setAdminId(admin.getId());
        
        //日志数据 持久化到数据库
        logMapper.insert(log);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值