28 lines
614 B
JavaScript
28 lines
614 B
JavaScript
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,
|
|
url: req.originalUrl,
|
|
status: res.statusCode,
|
|
duration: `${duration}ms`,
|
|
ip: req.ip || req.connection.remoteAddress,
|
|
userAgent: req.get('user-agent')
|
|
};
|
|
|
|
if (res.statusCode >= 400) {
|
|
logger.warn('HTTP Request', logData);
|
|
} else {
|
|
logger.info('HTTP Request', logData);
|
|
}
|
|
});
|
|
|
|
next();
|
|
};
|
|
|
|
module.exports = requestLogger;
|