morgan은 Node.js용 HTTP request logger middleware입니다.
morgan을 설치합니다.
npm install morgan
morgan logger middleware 함수는 주어진 format, options을 이용하여 생성합니다.
morgan(format, options)
format은 미리 정의된 이름의 문자열, 형식 문자열, 또는 로그 항목을 생성하는 함수가 될 수 있습니다.
로그 항목을 생성하는 커스텀 함수를 사용할 수 있습니다.
morgan(function (tokens, req, res) {
return [
tokens.method(req, res),
tokens.url(req, res),
tokens.status(req, res),
tokens.res(req, res, 'content-length'), '-',
tokens['response-time'](req, res), 'ms'
].join(' ')
})
morgan('combined', {
// 코드가 400 미만라면 함수를 리턴해 버려서 로그 기록 안함.
// 코드가 400 이상이면 로그 기록함
skip : function(req, res) { return res.statusCode < 400 }
});
const express = require('express');
const path = require('path');
const morgan = require('morgan'); // 미들웨어 연결
const app = express();
app.set('port', process.env.PORT || 3000);
// 로그 기록
if (process.env.NODE_ENV === 'production') {
app.use(morgan('combined')); // 배포환경이면
} else {
app.use(morgan('dev')); // 개발환경이면
}
app.get('/', (req, res) => {
res.send('Hello, index');
});
app.listen(app.get('port'), () => {
console.log(app.get('port'), '번 포트에서 대기 중');
});