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,
});
}
}