현재 코드 구성은 어떻게 되어있는가?

로거에서 수집해야 하는 정보는 무엇이 있는가?

Pino

Fastify 내장 Pino VS Pino 직접 사용 VS Winston

image.png

Logging 구조화

{
  // 요청 (Request)
  method: string,        // HTTP 메서드 (GET, POST 등)
  hostname: string,      // 요청 호스트명
  
  // 응답 (Response)
  statusCode: number,    // HTTP 상태 코드 (200, 404 등)
  statusMessage: string, // 상태 메시지 (OK, Not Found 등)
  url: string,          // 전체 URL
  path: string,         // 쿼리스트링 제외한 경로
  responseTime: number   // 응답 소요 시간
}

// 에러 시 추가 정보
{
  error: {
    message: string,
    name: string,
    stack: string,
    originalError: Error
  }
}
headers: {
    'user-agent': request.headers['user-agent'],
    'content-type': request.headers['content-type'],
    'x-forwarded-for': request.headers['x-forwarded-for'],
},