AOP记录日志实现

  • Post author:
  • Post category:其他


🔅AOP日志实现

🍭自定义日志注解类

package fun.quan.aop.comment;
​
​
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
​
/**
 * RetentionPolicy.RUNTIME  注释将由编译器记录在类文件中,并在运行时由VM保留,因此可以反射性地读取它们。
 * RetentionPolicy.RUNTIME  正式的参数声明
 * ElementType.METHOD   方法声明
 * @author XIaoQ
 */
@Target({ElementType.PARAMETER,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Log {
​
    /**
     * 记录日志的名称
     * @return
     */
    String defaults() default "";
}
​

🍭创建切面类

package fun.quan.compents;
​
​
import fun.quan.pojo.User;
import fun.quan.pojo.UserLogs;
import fun.quan.service.LogService;
import fun.quan.utils.SpringUtils;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.NamedThreadLocal;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Component;
​
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
i



版权声明:本文为xiaoquanz原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。