TIL/Youtube Clone
[유튜브클론] External Middlewares: Morgan
Nino_
2022. 8. 12. 04:43
Morgan 설치하기
Morgan은 NodeJS를 위한 HTTP request logger middleware 이다.
Morgan을 설치해보자 ( npm i morgan )
https://www.npmjs.com/package/morgan
Morgan사용법
https://www.npmjs.com/package/morgan#examples
morgan 함수에는 특정한 사용법이 있다.
이 함수를 호출하면 내가 설정한 대로 middleware를 return 해준다.
morgan과 내가 만들었던 middleware는 사용 방법이 똑같다. 다만 다른 점은, morgan이 조금 더 정교하다는 것이다.
morgan은 GET, path, status code, 응답 시간 등의 정보를 제공한다.
물론 morgan도 next() 함수를 제공한다.
skip을 사용해서 특정 statusCode만 필터 가능
// EXAMPLE: only log error responses
morgan('combined', {
skip: function (req, res) { return res.statusCode < 400 }
})
그리고 완성한 최종 코드
import express from "express";
import morgan from "morgan";
const PORT = 4000;
const app = express();
const logger = morgan("dev");
const home = (req, res) => {
return res.send("hello");
};
const login = (req, res) => {
return res.send("login");
};
app.use("logger");
app.get("/", home);
app.get("/login", login);
const handleListening = () =>
console.log(`✅ Server listening on port http://localhost:${PORT} 🚀`);
app.listen(PORT, handleListening);