Morgan


조현영님의 Node.js 교과서의 내용을 공부하여 정리한 내용입니다.


Morgan

  • 현재 콘솔에 나오는 GET / 200 51.267 ms - 1539 같은 로그는 모두 morgan 미들웨어에서 나오는 것이다.
  • 요청에 대한 정보를 콘솔에 기록해준다.

  • morgan 미들웨어는 다음과 같이 사용한다.

1
2
3
4
5
// ...
var logger = require("morgan");
// ...
app.use(logger("dev"));
// ...
  • 함수의 인자dev 대신 short, common, combined 등을 줄 수 있다.
  • 인자에 따라 콘솔에 나오는 로그가 다르다.
  • dev인 경우 GET / 200 51.267 ms – 1539의 의미는 순서대로 HTTP요청(GET)주소 - (/) HTTP상태코드(200) 응답속도(51.267ms) – 응답바이트(1539)이다.

  • 보통 개발 시에는 shortdev를 많이 쓰고, 배포 시에는 common이나 combined를 많이 사용한다.

  • 인자를 바꿔서 로그가 어떻게 달라지는지 직접 확인해보자.
  • 콘솔뿐만 아니라 파일이나 데이터베이스에 로그를 남길 수도 있다.
  • 하지만 이러한 작업을 할 때는 winston 모듈을 더 많이 사용한다.
  • winston 모듈은 15.1.6절에서 살펴보자.