import { ExceptionFilter, Catch, ArgumentsHost, HttpException, Logger, } from '@nestjs/common'; import { Request, Response } from 'express'; @Catch(HttpException) // What exception to catch export class HttpExceptionFilter implements ExceptionFilter { constructor(private readonly logger: Logger) { } catch(exception: HttpException, host: ArgumentsHost) { const ctx = host.switchToHttp(); const request: Request = ctx.getRequest(); const response: Response = ctx.getResponse(); const status = exception.getStatus(); if (status >= 500) { this.logger.warn({ method: request.method, url: request.url, message: exception.message, }); } if (status === 404) { exception.message = `${exception.message} not found`; } // response.status(status).json({ // success: false, // message: exception.message, // statusCode: status, // }); } }