morgan 사용하여 요청/응답 로그 남기기

codeing999·2022년 9월 15일
0

Node NPM

목록 보기
7/16

공식 사이트 : https://www.npmjs.com/package/morgan
참고 사이트 : https://inpa.tistory.com/entry/EXPRESS-%F0%9F%93%9A-morgan-%EB%AF%B8%EB%93%A4%EC%9B%A8%EC%96%B4

app.js에 코드를 추가

NODE_ENV에 따라 다른 포맷으로 로그 남기기

if (process.env.NODE_ENV === "production") {
  app.use(morgan("combined"));
} else {
  app.use(morgan("dev"));
}

production일 땐 combined 포맷으로 로그 남기고
아닐 땐 dev로 로그 남기는 설정.

포맷 커스텀하여 쓰기

app.use(
  morgan(
    ':remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"  - :response-time ms'
  )
);

위 포맷은 combined 포맷에 마지막에만 응답시간 값을 추가한 것이다.
아래는 예시)

0|app    | ::ffff:127.0.0.1 - - [15/Sep/2022:10:57:21 +0000] "POST /api/promise/user/check HTTP/1.0" 200 38 "http://localhost:3000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"  - 14.039 ms
profile
코딩 공부 ing..

0개의 댓글