로그는 애플리케이션에서 발생하는 많은 이벤트들에 대한 기록이다. 에러가 발생하거나 어떠한 요청이 왔을 때 해당 로그를 보고 문제를 파악한다던지 어떤 요청이 들어왔는지 파악하는 등 아주 중요한 역할을 한다.
그럼 NestJS는 어떻게 로그를 남길 수 있을까?
자바스크립트에는 console.log()가 있지만 그것보다는 다른 방법이 더 좋을 수 있다.
Logger Class
NestJS는 다행히도 기본적으로 로거가 내장되어 있고 손 쉽게 사용할 수 있다. @nestjs/common 패키지에서 Logger 클래스를 불러와서 인스턴스 생성 후 사용해 주기만 하면 된다.

이렇게 인스턴스를 생성하면 쉽게 사용가능하다.

해당 컨트롤러는 localhost:5000/alcohol 요청이 들어왔을 시 ---------select alcohol이라는 로그를 남긴다.

이런 식으로 출력된다. 단순히 텍스트만 출력되는 console.log보다 가독성도 좋고 어느 파일에서 어느 시간대에 로그가 찍혔는지도 쉽게 알 수 있다.

이렇게 logger의 메소드들이 있어 상황에 맞게 사용하면 된다. 메소드마다 찍히는 로그의 색깔이 또 다르기 때문에 더 가독성이 좋다.
MySQL query log

만약 당신이 프로젝트의 데이터베이스로 MySQL을 사용하고 위 이미지처럼 쿼리로그를 보고 싶다면

MySQL 연결을 설정한 app.module.ts로 가서 해당 부분의 logging을 true로 바꿔주면 된다.
이렇게 손 쉽게 NestJS에서 로그를 찍는 법을 알아보았다.
공부하면서 정리한 내용이니 틀린 내용이 있다면 모든 지적 감사히 받겠습니다:)
'backend > NestJS' 카테고리의 다른 글
[NestJS] NestJS 프로젝트 시작하기 (0) | 2023.05.31 |
---|---|
[NestJS]NestJS에서 Swagger 사용법 (0) | 2023.05.03 |
[NestJS]NestJS에서 메일 보내기 (0) | 2023.03.22 |
[NestJS] VSCode nest cli 명령어 오류 (0) | 2023.03.10 |
[NestJS] .env를 사용해서 MySQL 연동하기 (0) | 2023.03.09 |