본문 바로가기

개발/JavaScript

[NestJS] logger, Configuration

 

 

logger

  • log: 중요한 정보의 범용 로깅
  • warning: 치명적이거나 파괴적이지 않은 문제
  • error: 치명적이거나 파괴적인 문제
  • debug: 오류 발생시 로직을 디버그하는데 도움이 되는 정보 - 개발자 용
  • verbose: 응용 프로그램의 동작에 대한 통찰력을 제공 - 운영자 용

 

Logger.log('log message');

 

 

 

 

 

설정 Configuration

  • 애플리케이션인 시작할 때 로드 되어 값을 정의
  • Codebase(XML, JSON, YAML)
    • Port 등 노출 돼도 상관없는 정보 처리
  • Enviroment Variables
    • 비밀번호, API key 등 노출되면 안되는 정보를 처리

 

npm i config

 

  • config 폴더 생성
    • default.yml - 기본 설정
    • development.yml - 기본 설정 + 개발 환경에서 필요한 정보
    • production.yml - 기본 설정 + 운영 환경에서 필요한 정보

 

- yml 작성법

server:
  port: 3000
db:
  port: 5432

 

- config 불러오기

import * as config from 'config';

const serverConfig = config.get('server');
const port = serverConfig.port;

 

 

  • .env.dev
  • .env.prod

 

- .env 작성

MONGO_URL = 'mongoUrl//...'

- 사용

process.env.MONGO_URI