[NestJS] Logger

woogiemon·2023년 3월 8일
0
post-thumbnail
import { Injectable, Logger } from '@nestjs/common';

@Injectable()
export class AppService {
  	private readonly logger = new Logger(AppService.name);
  
  	getHello(): string {
    	this.logger.error('level: error');
	    this.logger.warn('level: warn');
    	this.logger.log('level: log');
	    this.logger.verbose('level: verbose');
    	this.logger.debug('level: debug');
    
	    return 'Hello World!';
    }
}    

일반적으로 production 환경에서는 debug 로그를 찍지 않는다.
그래서 보통 다음과 같이 실행 환경에 따라 로그 레벨을 지정한다.

const app = await NestFactory.create(AppModule, {
	logger: process.env.NODE_ENV === 'production'
    ? ['error', 'warn', 'log']
    : ['error', 'warn', 'log', 'verbose', 'debug']
});

CustomLogger : @nestjs/common 패키지의 LoggerService 인터페이스를 구현하거나, ConsoleLogger 를 상속받아서 사용한다. 보통 이 방식을 채택한다.

profile
삽질 기록..

0개의 댓글