mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-24 03:14:03 +03:00
31 lines
800 B
JavaScript
31 lines
800 B
JavaScript
|
var uuid = require('node-uuid'),
|
||
|
logging = require('../logging');
|
||
|
|
||
|
/**
|
||
|
* @TODO:
|
||
|
* - move middleware to ignition?
|
||
|
*/
|
||
|
module.exports = function logRequest(req, res, next) {
|
||
|
var startTime = Date.now(),
|
||
|
requestId = uuid.v1();
|
||
|
|
||
|
function logResponse() {
|
||
|
res.responseTime = (Date.now() - startTime) + 'ms';
|
||
|
req.requestId = requestId;
|
||
|
req.userId = req.user ? (req.user.id ? req.user.id : req.user) : null;
|
||
|
|
||
|
if (req.err) {
|
||
|
logging.error({req: req, res: res, err: req.err});
|
||
|
} else {
|
||
|
logging.info({req: req, res: res});
|
||
|
}
|
||
|
|
||
|
res.removeListener('finish', logResponse);
|
||
|
res.removeListener('close', logResponse);
|
||
|
}
|
||
|
|
||
|
res.on('finish', logResponse);
|
||
|
res.on('close', logResponse);
|
||
|
next();
|
||
|
};
|