You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
762 B
JavaScript
25 lines
762 B
JavaScript
const context = require('./context');
|
|
const loggerFactory = require('./logger');
|
|
const _ = require('lodash');
|
|
|
|
module.exports = {
|
|
create: (config) => {
|
|
module.exports.log = loggerFactory.create({
|
|
prodHost: config.prodHost,
|
|
prod: config.prod,
|
|
appTag: config.appTag
|
|
});
|
|
},
|
|
log: null,
|
|
context,
|
|
requestLogger:
|
|
(req, res, next) => {
|
|
res.setHeader('X-RequestId', context.getRequestId());
|
|
const requesterAddress = _.get(req, 'headers.x-forwarded-for', req.ip);
|
|
module.exports.log.info({
|
|
message: `${req.method} - ${req.url} - ${requesterAddress}`,
|
|
userEmail: req.user?.email
|
|
});
|
|
next();
|
|
}
|
|
} |