Spaces:
Running
Running
| 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; | |