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') }