본문 바로가기
dev/개발일지

winston, morgan 함께 사용하여 로깅남기기

by Box 2021. 8. 16.
728x90

 Nest.js를 공부하다가 로깅도 같이 남겨보고싶어서 로깅 모듈들을 이용해보았다.

우선 winston 만 사용했을때 로그를 일일히 찍어야 된다는게 비효율적이고 분명히 자동으로 로깅남기는 모듈이 있을거라 생각했다.

생각해서 찾은게 morgan 이다.

우선 winston파일에 코드 구현을 해준뒤,,,

여기서 stream 이라는 변수가 중요한 포인트다

미들웨어 를 통해 morgan 모듈을 사용해서 로깅 할 내용을 변수명으로 지정하여 넣어주고 

res.statusCode 를 가져와서 err 코드가 뜰땐 logger.error 로 지정하여 err파일로 넣어주고

성공 코드가 뜰땐 logger.info 로 지정하여 log 파일에 넣어준다

근데 여기서 stream 이 morgan 에서 제공하는 변수 명이라 stream 만 넣어야 로깅 레벨과 로가파일을 저장할 수있게 되는데

stream 말고 다른 변수를 넣고싶으면 따로 node_module/index/morgan 에 들어가 stream 말고 다른 변수로 수정 설정해줘야된다.

(위에 이미지처럼 추가하고싶어도 따로 node_module/index/morgan 에 들어가  변수를 추가하여 설정을 다시 해줘야된다.)

 

그리고 함수앞에있는 skip 도 morgan 모듈에서 제공하는 함수이다. 다른 함수명으로 할시에는 err 가 난다.

 

이상 제가 써보고 적은경험담입니다. 혹시 잘못된 부분있으시면 댓글달아주시면 바로 수정하겠습니다.