feat: api log wrapper 추가
This commit is contained in:
parent
7597700e7b
commit
ed8c6187d3
10
src/libs/api-wrapper.ts
Normal file
10
src/libs/api-wrapper.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import { writeApiLog } from './logger'
|
||||
|
||||
export function loggerWrapper(handler: (req: NextRequest) => Promise<NextResponse>): (req: NextRequest) => Promise<NextResponse> {
|
||||
return async function (request: NextRequest) {
|
||||
const response = await handler(request)
|
||||
await writeApiLog(request, response.status)
|
||||
return response
|
||||
}
|
||||
}
|
||||
@ -3,7 +3,7 @@ import { join } from 'path'
|
||||
import pino from 'pino'
|
||||
|
||||
/* 로그 데이터 인터페이스 */
|
||||
interface LogData {
|
||||
interface ApiLogData {
|
||||
timestamp: string
|
||||
status: number
|
||||
method: string
|
||||
@ -79,9 +79,9 @@ class DailyLogger {
|
||||
/* 로거 인스턴스 */
|
||||
const dailyLogger = new DailyLogger()
|
||||
|
||||
/* 로그 기록 함수 */
|
||||
export const writeLog = async (request: NextRequest, responseStatus: number): Promise<void> => {
|
||||
const logData: LogData = {
|
||||
/* API 로그 기록 함수 */
|
||||
export const writeApiLog = async (request: NextRequest, responseStatus: number): Promise<void> => {
|
||||
const logData: ApiLogData = {
|
||||
timestamp: new Date().toISOString(),
|
||||
status: responseStatus,
|
||||
method: request.method,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user