用AOP统一记录日志(详细笔记入门)


笔记:用AOP统一记录日志(小白入门)

就三步


一、引入架包

打开pom.xml文件,引入aspectj架包

在这里插入图片描述

代码如下:

		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.9.7</version>
		</dependency>

二、编写配置类

新建配置类LogAspect .java,代码如下

package com.example.community.logAspect;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
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.text.SimpleDateFormat;
import java.util.Date;
/**
 * @ClassName LogAspect
 * @Description TODO
 * @Author 加辣椒了吗?
 * @Date 2022/4/28 22:22
 * @Version 1.0
 **/
@Component
@Aspect
public class LogAspect {
    private static Logger logger = LoggerFactory.getLogger(LogAspect.class);

    // 设置切面
    @Pointcut("execution(* com.example.community.controller.*.*(..))")
    public void pointCut(){
    }
	// 方法执行前输出日志
    @Before("pointCut()")
    public void before(JoinPoint joinPoint){
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes ();
        HttpServletRequest request = attributes.getRequest ();
        //用户ip
        String ip = request.getRemoteHost ();
        // 日期
        String now = new SimpleDateFormat( "YYYY-MM-dd HH: mm:SS").format (new Date());
        // 访问路径
        String target = joinPoint.getSignature ().getDeclaringTypeName () + "." + joinPoint.getSignature ().getName ();
        // 输出日志
        logger.info (String. format ("用户[%s],在[%s] ,访问[%s].", ip, now, target));
    }

}

在这里插入图片描述

三、运行

成功

在这里插入图片描述

总结

@作者:加辣椒了吗?
简介:憨批大学生一枚,喜欢在博客上记录自己的学习心得,也希望能够帮助到你们!
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加辣椒了吗?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值