package com.iailab.module.infra.api.logger.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import javax.validation.constraints.NotNull; import java.time.LocalDateTime; @Schema(description = "RPC æœåŠ¡ - API 错误日志创建 Request DTO") @Data public class ApiErrorLogCreateReqDTO { @Schema(description = "链路追踪编å·", example = "89aca178-a370-411c-ae02-3f0d672be4ab") private String traceId; @Schema(description = "用户编å·", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") private Long userId; @Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") private Integer userType; @Schema(description = "应用å", requiredMode = Schema.RequiredMode.REQUIRED, example = "system-server") @NotNull(message = "应用åä¸èƒ½ä¸ºç©º") private String applicationName; @Schema(description = "请求方法å", requiredMode = Schema.RequiredMode.REQUIRED, example = "GET") @NotNull(message = "http 请求方法ä¸èƒ½ä¸ºç©º") private String requestMethod; @Schema(description = "请求地å€", requiredMode = Schema.RequiredMode.REQUIRED, example = "/xxx/yyy") @NotNull(message = "访问地å€ä¸èƒ½ä¸ºç©º") private String requestUrl; @Schema(description = "请求å‚æ•°", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "请求å‚æ•°ä¸èƒ½ä¸ºç©º") private String requestParams; @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1") @NotNull(message = "ip ä¸èƒ½ä¸ºç©º") private String userIp; @Schema(description = "æµè§ˆå™¨ UserAgent", requiredMode = Schema.RequiredMode.REQUIRED, example = "Mozilla/5.0") @NotNull(message = "User-Agent ä¸èƒ½ä¸ºç©º") private String userAgent; @Schema(description = "异常时间", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "异常时间ä¸èƒ½ä¸ºç©º") private LocalDateTime exceptionTime; @Schema(description = "异常å", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "异常åä¸èƒ½ä¸ºç©º") private String exceptionName; @Schema(description = "异常å‘生的类全å", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "异常å‘生的类全åä¸èƒ½ä¸ºç©º") private String exceptionClassName; @Schema(description = "异常å‘生的类文件", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "异常å‘生的类文件ä¸èƒ½ä¸ºç©º") private String exceptionFileName; @Schema(description = "异常å‘生的方法å", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "异常å‘生的方法åä¸èƒ½ä¸ºç©º") private String exceptionMethodName; @Schema(description = "异常å‘生的方法所在行", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "异常å‘生的方法所在行ä¸èƒ½ä¸ºç©º") private Integer exceptionLineNumber; @Schema(description = "å¼‚å¸¸çš„æ ˆè½¨è¿¹å¼‚å¸¸çš„æ ˆè½¨è¿¹", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "å¼‚å¸¸çš„æ ˆè½¨è¿¹ä¸èƒ½ä¸ºç©º") private String exceptionStackTrace; @Schema(description = "å¼‚å¸¸å¯¼è‡´çš„æ ¹æ¶ˆæ¯", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "å¼‚å¸¸å¯¼è‡´çš„æ ¹æ¶ˆæ¯ä¸èƒ½ä¸ºç©º") private String exceptionRootCauseMessage; @Schema(description = "异常导致的消æ¯", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "异常导致的消æ¯ä¸èƒ½ä¸ºç©º") private String exceptionMessage; }