russ_react/server/middleware/logging/requestLogger.ts

21 lines
579 B
TypeScript

import { Request, Response, NextFunction } from 'express';
import { logger } from '../../config/logger.js';
export const requestLogger = (req: Request, res: Response, next: NextFunction) => {
const start = Date.now();
res.on('finish', () => {
const duration = Date.now() - start;
const message = `${req.method} ${req.originalUrl} ${res.statusCode} ${duration}ms`;
if (res.statusCode >= 500) {
logger.error(message);
} else if (res.statusCode >= 400) {
logger.warn(message);
} else {
logger.info(message);
}
});
next();
};