Nest.js - Logging

김세겸·2023년 3월 1일
0

NestJS

목록 보기
9/18
post-thumbnail

1. 들어가며

전에 글에서 미들웨어에 대해 알아보았다. 미들웨어를 사용하여서 개발에서 중요한 로깅에 대해 알아보자.

2. 내장 로거 클래스

내장 로깅 옵션을 통해 로깅 시스템의 동작을 제어 할 수 있다.

  • 로깅을 완전히 비활성화
  • 로그 레벨 지정 - log, error, warn, debug, verbose
  • 기본 로거의 타임스탬프 재정의(예: ISO8601 표준을 날짜 형식으로 사용)
  • 기본 로거를 완전히 재정의
  • 그것을 확장하여 기본 로거를 사용자 정의
  • 종속성 주입을 사용하여 애플리케이션 구성 및 테스트 단순화

3. 커스텀 로거

Nest에서 제공하는 LoggerService 인터페이스를 구현하는 클래스를 통해 사용자 지정 로거를 구현할 수 있다.

import { LoggerService } from '@nestjs/common';

export class MyLogger implements LoggerService {
  log(message: any, ...optionalParams: any[]) {}

  error(message: any, ...optionalParams: any[]) {}

  warn(message: any, ...optionalParams: any[]) {}

  debug?(message: any, ...optionalParams: any[]) {}

  verbose?(message: any, ...optionalParams: any[]) {}
}

// main.ts
const app = await NestFactory.create(AppModule, {
  logger: new MyLogger(),
});
await app.listen(3000);

0개의 댓글