Notice
Recent Posts
Recent Comments
Link
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Mini

[Nest] Exception Filter 구현 본문

JS/Nest.js

[Nest] Exception Filter 구현

Mini_96 2024. 9. 22. 22:36

* 개념

  • 주로 에러발생시 모니터링시스템 API 호출등에 사용된다.
  • 로그파일 생성

* 구현

  • 간단하게 res를 바꿔주는 ExceptionFilter
import { ArgumentsHost, Catch, ExceptionFilter, HttpException } from "@nestjs/common";

@Catch(HttpException) //모든예외는 HttpException의 자식임 -> 이 예외를 잡겠다.
export class HttpExceptionFilter implements ExceptionFilter {
  catch(exception: HttpException, host: ArgumentsHost) {
    const context = host.switchToHttp();
    const req = context.getRequest();
    const res = context.getResponse();
    const status = exception.getStatus();

    res
      .status(status)
      .json({
        statusCode: status,
        message: exception.message,
        timestamp: new Date().toLocaleString('kr'),
        path: req.url,
      });
  }
}