공식 사이트 : 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에 코드를 추가
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