| ✅ 로그 | ✖️ 메트릭 | ✖️ 트레이스 |
시작하기
AppModule에 HyperDXNestLoggerModule을 임포트하고 forRoot()
메서드로 구성합니다.
HDX_LOGGER_MODULE_PROVIDER 주입 토큰을 통해 프로젝트 전체에서
winston 인스턴스를 주입해 사용할 수 있습니다:
Nest 로거 교체하기(부트스트래핑 시에도 적용)
중요이 방식을 사용하면 의존성 주입을 포기하게 됩니다. 따라서
forRoot와 forRootAsync는 필요하지 않으며 사용해서도 안 됩니다. 메인 모듈에서 제거하십시오.HyperDXNestLogger 인스턴스를 아직 사용할 수 없으므로
Nest는 내부 로거를 대신 사용합니다.
해결 방법 중 하나는 createLogger 함수를 사용해 애플리케이션 생명주기 외부에서 로거를 생성한 뒤
이를 NestFactory.create에 전달하는 것입니다. 그러면 Nest는 사용자 지정 로거(createLogger 메서드가 반환한 바로 그 인스턴스)를
Logger 클래스로 감싸고, 모든 호출을 해당 로거로 전달합니다.
main.ts 파일에서 로거를 생성하십시오.
@nestjs/common의 Logger를 타입 힌트로 지정해 로거를 간단히 주입합니다: