27 lines
599 B
TypeScript
27 lines
599 B
TypeScript
import { Request, Response, NextFunction } from 'express';
|
|
import { logger } from '../../config/logger.js';
|
|
|
|
export interface AppError extends Error {
|
|
statusCode?: number;
|
|
details?: never;
|
|
}
|
|
|
|
export const errorLogger = (
|
|
err: AppError,
|
|
req: Request,
|
|
res: Response,
|
|
next: NextFunction
|
|
) => {
|
|
const errorDetails = {
|
|
message: err.message,
|
|
stack: err.stack,
|
|
timestamp: new Date().toISOString(),
|
|
path: req.path,
|
|
method: req.method,
|
|
statusCode: err.statusCode || 500,
|
|
details: err.details,
|
|
};
|
|
|
|
logger.error('Application error:', errorDetails);
|
|
next(err);
|
|
}; |