package com.ema.common.aspect.logger;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.util.List;

/**
 * 日志配置
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "logging.operlog")
public class AopLogConfig {

    /**
     * 是否开启日志记录
     */
    private boolean enabled=false;
    /**
     * 指定专门的日志处理器
     */
    private Class<? extends LoggerHandler> loggerHandler;
    /**
     * 切面是否记录 请求参数
     */
    private boolean args=true;
    /**
     * 切面是否记录 响应参数
     */
    private boolean respBody=false;
    /**
     * 仅当发生异常时才记录
     */
    private boolean logOnErr=false;
    /**
     * 需要日志记录的路径,不配置默认记录所有请求
     * 支持Ant风格的路径匹配,如 api/v1/users/*,/api/**
     */
    private List<String> paths;
    /**
     * 敏感属性字段，request参数中包含这些字段时，会被替换成 *******
     */
    private List<String> deseFields;

}
