NPM) morgan 을 사용한 Logging

알파로그·2023년 12월 14일
0

Node.js

목록 보기
21/25

✏️ 로그

📍 설치

  • 개발환경에서는 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);

📍 실행

  • 개발환경으로 실행할 경우 모든 요청에 대한 기록이 콘솔창에 입력된다.
  • 배포환경에서는 더 디테일하게 기록이 별도의 파일에 저장된다.
profile
잘못된 내용 PR 환영

0개의 댓글