Spaces:
Sleeping
Sleeping
File size: 827 Bytes
81d1e4c 9f5a703 81d1e4c 9f5a703 81d1e4c 9f5a703 81d1e4c 9f5a703 81d1e4c 9f5a703 81d1e4c | 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 | import { Request, Response, NextFunction } from "express";
import { AppError } from "../utils/AppError";
import { createChildLogger } from "../config/logger";
const log = createChildLogger({ module: "error" });
export const errorHandler = (err: Error, req: Request, res: Response, _next: NextFunction) => {
if (err instanceof AppError) {
log.warn(`${err.message}`, { statusCode: err.statusCode, url: req.originalUrl });
return res.status(err.statusCode).json({
success: false,
message: err.message,
});
}
log.error("Unhandled error", {
message: err.message,
stack: err.stack,
url: req.originalUrl,
method: req.method,
});
return res.status(500).json({
success: false,
message: process.env.NODE_ENV === "production" ? "Internal Server Error" : err.message,
});
};
|