[NestJS] winston으로 로그 관리

위의 블로그를 참고하자.

💡 고민과 해결과정

배경

고민

해결과정

@Injectable()
export class LoggerMiddleware implements NestMiddleware {
  constructor(private readonly logger: Logger) {}

  use(req: Request, res: Response, next: NextFunction) {
    const startTime = Date.now();  // 요청 시작 시간

    res.on('finish', () => {
      const duration = Date.now() - startTime;  // 요청 처리 시간 계산
      // ... 로그 기록 ...
    });

    next();  // 다음 미들웨어 또는 핸들러로 제어권 전달
  }
}