redThread / server /src /middleware /requestLogger.js
3v324v23's picture
Initial commit of RedThread project
0dd2082
raw
history blame contribute delete
703 Bytes
const logger = require('../utils/logger');
const requestLogger = (req, res, next) => {
const start = Date.now();
res.on('finish', () => {
const duration = Date.now() - start;
const logData = {
method: req.method,
path: req.originalUrl,
status: res.statusCode,
duration: `${duration}ms`,
ip: req.ip,
userAgent: req.get('User-Agent')?.substring(0, 80),
};
if (res.statusCode >= 400) {
logger.warn('Request completed with error', logData);
} else {
logger.info('Request completed', logData);
}
});
next();
};
module.exports = requestLogger;