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'
|
import pino from 'pino'
|
||||||
|
|
||||||
/* 로그 데이터 인터페이스 */
|
/* 로그 데이터 인터페이스 */
|
||||||
interface LogData {
|
interface ApiLogData {
|
||||||
timestamp: string
|
timestamp: string
|
||||||
status: number
|
status: number
|
||||||
method: string
|
method: string
|
||||||
@ -79,9 +79,9 @@ class DailyLogger {
|
|||||||
/* 로거 인스턴스 */
|
/* 로거 인스턴스 */
|
||||||
const dailyLogger = new DailyLogger()
|
const dailyLogger = new DailyLogger()
|
||||||
|
|
||||||
/* 로그 기록 함수 */
|
/* API 로그 기록 함수 */
|
||||||
export const writeLog = async (request: NextRequest, responseStatus: number): Promise<void> => {
|
export const writeApiLog = async (request: NextRequest, responseStatus: number): Promise<void> => {
|
||||||
const logData: LogData = {
|
const logData: ApiLogData = {
|
||||||
timestamp: new Date().toISOString(),
|
timestamp: new Date().toISOString(),
|
||||||
status: responseStatus,
|
status: responseStatus,
|
||||||
method: request.method,
|
method: request.method,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user