NodeJS 서버로 구성된 웹 환경에서는 로그(log)를 관리하기 위한 별도의 서드파티 라이브러리나 툴을 사용할 것을 권장합니다. 그래서 많이 쓰이는 것 중 하나인 morgan을 알아봅니다.

morgan은 nodeJS 에서 사용되는 로그 관리를 위한 미들웨어 입니다. 그럼 morgan을 사용하는 이유는 무엇일까요?

- 로그 관리를 쉽게 하기 위함(환경에 따른 다른 설정 등)
; 가장 큰 이유입니다. 에러에만 사용하거나 dev환경이 아닌 라이브에서만 로그 등을 남기는 목적 등이 이유입니다.

- 토큰 등 간편하고 유용한 기능
- 로그 관리를 커스텀하기 위한 목적




# nodejs환경에 morgan 설치하기
아래는 npm을 사용하는 방법입니다.
npm install morgan --save

위 명령어를 사용하면 morgan 설치가 왼료됩니다. 이제 앱에서 morgan을 사용하도록 설정해야합니다. 아래는 express 환경에서 morgan을 사용하는 경우입니다.
const express = require('express');
const logger = require('morgan');
// morgan 모듈 추가

const app =express();

app.use(morgan);
// morgan 사용하기

app.listen(3000, () => {
  console.log('Running on port 3000');
});

간단한 사용방법입니다.


! log의 포맷 지정하기
로그의 포맷을 아래와 같이 선택하거나 지정할 수 있습니다.
app.use(morgan('combined'));

combined 외에도 다음과 같은 선택 값이 있습니다.
'combined'
'tiny'
'dev'
'common'


Format을 직접 아래와 같이 지정하 수도 있습니다.
:url // url
:status // 상태 코드
:req[header] // 요청 헤더
:res[header] // 응답 헤더
:response-time // 응답시간
:method // 요청 방식


여기까지 morgan에 대하여 간단하게 알아보았습니다. nodejs는 로그를 설정하지 않으면 나중에 관련 로그 찾기가 어렵습니다. 기존 access.log에 통합하거나 별도로 파일에 로그를 기록하는 방법 등이 사용됩니다.