로그 관리는 애플리케이션 개발에서 중요한 부분입니다. 로그는 애플리케이션의 상태 및 동작을 기록하고, 문제를 식별하고, 디버깅에 도움을 줍니다. 이번에는 NestJS에서 자바스크립트 앱의 로그를 관리하는 방법에 대해 알아보겠습니다.
1. Winston 로거 사용하기
Winston은 널리 사용되는 자바스크립트 로깅 라이브러리로, 다양한 로그 레벨과 포맷을 설정할 수 있습니다. NestJS에서는 Winston 로거를 사용하여 로그를 관리할 수 있습니다.
먼저, Winston을 설치합니다.
npm install winston
NestJS 애플리케이션에서는 로거를 생성하고 컨테이너에 등록해야 합니다. main.ts
파일에 다음과 같이 코드를 추가합니다.
import { Logger } from 'nestjs';
const logger = new Logger('App');
async function bootstrap() {
// ... 애플리케이션 부트스트래핑 로직
}
bootstrap().then(() => {
logger.log('Application started');
});
위 예제에서는 Logger
클래스를 사용하여 App
이름의 로거를 생성했습니다. log
메서드를 사용하여 로그를 출력합니다.
2. Log4js 로거 사용하기
Log4js는 다양한 로그 레벨 및 로그 스트림을 제공하는 또 다른 인기 있는 로깅 라이브러리입니다. NestJS에서도 Log4js를 사용하여 로그를 관리할 수 있습니다.
먼저, Log4js를 설치합니다.
npm install log4js
NestJS 애플리케이션에서는 로거를 생성하고 컨테이너에 등록해야 합니다. main.ts
파일에 다음과 같이 코드를 추가합니다.
import { Logger } from 'log4js';
const logger = Logger.getLogger('App');
async function bootstrap() {
// ... 애플리케이션 부트스트래핑 로직
}
bootstrap().then(() => {
logger.info('Application started');
});
위 예제에서는 getLogger
함수를 사용하여 App
이름의 로거를 생성했습니다. info
메서드를 사용하여 로그를 출력합니다.
결론
NestJS에서는 Winston과 Log4js와 같은 라이브러리를 사용하여 자바스크립트 앱의 로그를 쉽게 관리할 수 있습니다. 로그는 애플리케이션의 상태와 동작을 추적하고 문제를 해결하는 데 매우 유용한 도구입니다.