✏️ 로그
📍 설치
- 개발환경에서는 log 를 콘솔에 바로 출력하지만,
배포환경에서는 log 를 파일로 저장하는 것이 좋다.
- 로그 미들웨어를 사용해 파일로 저장시킬 수 있다.
npm i morgan
📍 적용
- 루트 디렉토리에서 조립해도 되지만 캡슐화를 해줬다.
- morgan 은 매개변수로 format 과 option 을 요구한다.
- 개발 환경일 때는 format 을
dev
로 설정한다.
- 배포 환경에세는 format 을
combined
로, option 은 쓰기 객체를 생성해 파일을 저장할 경로를 지정해 입력해줬다.
const morgan = require('morgan')
const fs = require('fs')
exports.logging = (app) => {
switch (app.get('env')) {
case 'development' :
app.use(morgan('dev'))
break
case 'production' :
const stream = fs.createWriteStream(
__dirname + '/access.log',
{ flags: 'a' }
)
app.use(morgan('combined', { stream }))
break
}
}
- 생성한 모듈을 루트 디랙토리에서 import 해 호출해주면 된다.
const { logging } = require('./lib/logging')
logging(app);
📍 실행
- 개발환경으로 실행할 경우 모든 요청에 대한 기록이 콘솔창에 입력된다.
- 배포환경에서는 더 디테일하게 기록이 별도의 파일에 저장된다.