diff --git a/backend/src/query-api/logs/dto/log-search-query.dto.ts b/backend/src/query-api/logs/dto/log-search-query.dto.ts index 5ac0bee..da0ff90 100644 --- a/backend/src/query-api/logs/dto/log-search-query.dto.ts +++ b/backend/src/query-api/logs/dto/log-search-query.dto.ts @@ -1,4 +1,4 @@ -import { Type } from "class-transformer"; +import { Transform, Type } from "class-transformer"; import { IsIn, IsInt, @@ -22,6 +22,9 @@ export class LogSearchQueryDto { environment?: string; @IsOptional() + @Transform(({ value }) => + typeof value === "string" ? value.toUpperCase() : value, + ) @IsIn(["DEBUG", "INFO", "WARN", "ERROR"]) level?: "DEBUG" | "INFO" | "WARN" | "ERROR"; diff --git a/backend/src/query-api/logs/logs.controller.ts b/backend/src/query-api/logs/logs.controller.ts index 464dcaa..b5439db 100644 --- a/backend/src/query-api/logs/logs.controller.ts +++ b/backend/src/query-api/logs/logs.controller.ts @@ -40,7 +40,7 @@ export class LogsController { @ApiQuery({ name: "level", required: false, - description: "로그 레벨 필터", + description: "로그 레벨 필터 (대소문자 무관)", enum: ["DEBUG", "INFO", "WARN", "ERROR"], example: "ERROR", }) diff --git a/backend/src/shared/apm/logs/dto/log-event.dto.ts b/backend/src/shared/apm/logs/dto/log-event.dto.ts index 53f8533..57c0426 100644 --- a/backend/src/shared/apm/logs/dto/log-event.dto.ts +++ b/backend/src/shared/apm/logs/dto/log-event.dto.ts @@ -1,3 +1,4 @@ +import { Transform } from "class-transformer"; import { IsISO8601, IsIn, @@ -23,6 +24,9 @@ export class LogEventDto { environment!: string; @IsString() + @Transform(({ value }) => + typeof value === "string" ? value.toUpperCase() : value, + ) @IsIn(["DEBUG", "INFO", "WARN", "ERROR"]) level!: "DEBUG" | "INFO" | "WARN" | "ERROR";