티스토리 뷰

nodeJS

[nestJS] middleware 로 logger만들기

변기원 2022. 12. 26. 10:16

nestJS 공식문서 request lifecycle.

미들웨어는 라우터 핸들러보다 먼저 호출되는 함수(미들웨어 말고도 몇 개 있지만..)

Nest의 미들웨어는 express에서 설명하는 미들웨어와 동일하다.

Nest 미들웨어는 클래스와 @Injectable데코레이터 를 사용해서 구현할 수 있다.

클래스는 NestMeddleware 인터페이스로 구현한다.

이 미들웨어를 사용하고자 하는 모듈에서 의존성주입을 한다.

하지만 @Module에는 미들웨어를 위한 자리가 따로 없다. 그래서 모듈클래스의 configure() 메서드를 사용해야 한다.

미들웨어를 포함하는 모듈은 NestModule 인터페이스를 구현해야한다.

forRoutes() 내부에서 어떤 라우터로 이 미들웨어를 제한할 것인지,

어떤 RESTapi 메서드로 제한할 것인지 설정할 수 있다.

공식문서의 예를 보면

이렇게 설정한다.

이 외에도 하나의 consumer에 여러 미들웨어를 연결하는 방법

미들웨어에서 특정 라우트를 제외시키는 방법 등이 공식문서에 나와있다.

 

https://docs.nestjs.com/middleware

 

Documentation | NestJS - A progressive Node.js framework

Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Progamming), FP (Functional Programming), and FRP (Functional Reac

docs.nestjs.com

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함