All Downloads are FREE. Search and download functionalities are using the official Maven repository.

top.doudou.common.aop.AopLog Maven / Gradle / Ivy

There is a newer version: 1.3.2
Show newest version
package top.doudou.common.aop;

import com.google.common.net.HttpHeaders;
import top.doudou.common.aop.collector.LogCollector;
import top.doudou.common.aop.collector.PrintCollector;

import java.lang.annotation.*;

/**
 * @description aop日志切面注解
 * @author 傻男人<[email protected]>
 * @Date 2020-09-24 14:53
 * @Version V1.0
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AopLog {

    /**
     * 仅当发生异常时才记录
     */
    boolean logOnErr() default false;

    /**
     * 操作类型(操作分类)
     */
    String type() default "";

    /**
     * 接口名字(如有swagger的注解ApiOperation则可以不用填写)
     */
    String interfaceName() default "";


    /**
     * 记录的headers ,默认记录 content-type
     */
    String[] headers() default {HttpHeaders.CONTENT_TYPE};

    /**
     * 切面是否记录 请求参数
     */
    boolean args() default true;

    /**
     * 切面是否记录 响应参数
     */
    boolean respBody() default true;

    /**
     * 当发生异常时,切面是否记录异常堆栈信息到content
     */
    boolean stackTraceOnErr() default false;

    /**
     * 异步模式 收集日志
     */
    boolean asyncMode() default true;

    /**
     * 收集器
     */
    Class collector() default PrintCollector.class;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy