log.munzi.config.ApiLogProperties Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of munzi-log Show documentation
Show all versions of munzi-log Show documentation
api server request, response log managing
The newest version!
package log.munzi.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
* API Log 설정
*/
@Data
@Component
@ConfigurationProperties(prefix = "api-log")
public class ApiLogProperties {
// required(*)
// server명 (구분자 '-')
// "server명-profile-timestamp"로 로그 수집됐을 때 index명으로 사용
private String serverName;
// true일 경우에만 security여도 로그 찍음
private boolean ignoreSecurityLog = false;
// filter 사용 여부
private boolean use = false;
// request, response 로그 log level 설정
// private LogLevel defaultLevel = LogLevel.INFO;
// request log에 대한 설정
private LogRequestResponse request;
// response log에 대한 설정
private LogRequestResponse response;
// defaultLevel이 아닌 debug로 찍을 api 설정
private List debugApi = new ArrayList<>();
private boolean jsonPretty = false;
// requestId를 직접 정해줄 경우, header에서 사용할 key값
private String requestIdHeaderKey;
// 500 에러가 났을 경우, ErrorAspect에서 stackTrace가 포함된 에러를 추가로 찍을 지에 대한 여부
private boolean stackTracePrintYn = false;
// stack trace에 찍을 패키지명
private String stackTracePackageName;
/**
* API Log 설정 Request, Response DTO
*/
@Data
public static class LogRequestResponse {
// max body size. body size가 이를 넘어갈 경우 body 내용 대신 크기만 찍음
private String maxBodySize;
// 해당 api의 body 내용 대신 크기만 찍음
private List secretApi = new ArrayList<>();
// 해당 api의 내용을 안찍음
private List inactiveApi = new ArrayList<>();
}
}