From 94da4f3452f69ddef0336de9c07e4b68a235babe Mon Sep 17 00:00:00 2001 From: Daseul Kim Date: Wed, 18 Jun 2025 12:21:03 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20log=20write=EC=8B=9C=20=EC=9D=B8?= =?UTF-8?q?=EC=BD=94=EB=94=A9=20=EA=B9=A8=EC=A7=80=EB=8A=94=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libs/logger.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/libs/logger.ts b/src/libs/logger.ts index 480d408..54c46fd 100644 --- a/src/libs/logger.ts +++ b/src/libs/logger.ts @@ -94,13 +94,24 @@ const dailyLogger = new DailyLogger() export const writeApiLog = async (request: NextRequest, responseStatus: number): Promise => { if (!isProduction) return + let bodyString: string | undefined + if ( + request.method === 'POST' && + (request.headers.get('content-type') === 'multipart/form-data' || request.headers.get('content-type') === 'application/x-www-form-urlencoded') + ) { + const formData = await request.formData() + bodyString = JSON.stringify(Object.fromEntries(formData)) + } else { + bodyString = await request.text() + } + const logData: ApiLogData = { responseStatus: responseStatus, method: request.method, url: request.url, // headers: Object.fromEntries(request.headers), query: Object.fromEntries(new URL(request.url).searchParams), - body: request.body ? await request.text() : undefined, + body: bodyString, } dailyLogger.info(logData, 'API Request') }