CartoDB-SQL-API/lib/api/middlewares/logger.js

17 lines
513 B
JavaScript
Raw Normal View History

2019-10-01 20:12:14 +08:00
'use strict';
const uuid = require('uuid');
2019-10-01 20:12:14 +08:00
module.exports = function initLogger ({ logger, logOnEvent = 'finish' }) {
return function initLoggerMiddleware (req, res, next) {
const id = req.get('X-Request-Id') || uuid.v4();
res.locals.logger = logger.child({ id });
2019-10-01 20:12:14 +08:00
res.locals.logger.info({ request: req });
res.on(logOnEvent, () => res.locals.logger.info({ response: res }));
res.on('close', () => res.locals.logger.info({ end: true }));
2019-10-01 20:12:14 +08:00
next();
};
2019-10-01 20:12:14 +08:00
};