morgan.token('response-sectime', (req, res) => { /* eslint no-underscore-dangle: ["error", { "allow": ["_header", "_startAt"] }] */ if (!res._header || !req._startAt) { return ''; } const diff = process.hrtime(req._startAt); const secs = diff[0] + (diff[1] * 1e-9); return secs.toFixed(3); });
morgan.token("quality", function getQuality(req) { if (req.pathx === "/resolve" && req.method === "POST") { if (req.body.quality) return req.body.quality; else return "medium*"; } else { return "NA"; } });
morgan.token("code", function getCode(req) { return req.code.slice(0, 3); });
morgan.token('request_at_time', function(req, res, param) { return moment().tz('Asia/Dhaka').format('DD-MM-YYYY hh:mm:ss A Z'); });
morgan.token("url", function getURL(req) { if (req.body.url) return req.body.url; else return "NA"; });
morgan.token('extentionsJSON', (_, res) => JSON.stringify(res._extensions || {}) );
morgan.token("path", function getPath(req) { if (req.pathx) return req.pathx; else return req.path; });
morgan.token('geo-loc', function(req, res) { return Private.getGeoIpLocation(req); });
morgan.token('operationName', req => req.body.operationName);
morgan.token('param', function(req, res, param) { return req.params[param]; });
morgan.token('errorsJSON', (_, res) => JSON.stringify(res._errors || {}));
morgan.token('host', function(req, res) { return Private.getRealIp(req); });
logger.token('id', function getId (req) { return req.id })
morgan.token('bodyJSON', req => JSON.stringify(req.body || {}));
// Setup requests logger morgan.token('id', (req) => req.id);