더북(TheBook)

6.3.2 morgan

 

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

morgan 미들웨어는 다음과 같이 사용합니다.

app.js

...
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절에서 살펴봅니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.