express-nemo-logger
Version:
A middleware for express, extending requests with a logger instance of your choice
19 lines (14 loc) • 457 B
JavaScript
const defaults = {}
module.exports = options => {
options = { ...defaults, ...options }
if (!options.loggerFactory || typeof options.loggerFactory !== 'function') {
throw new Error('[Options] Missing logger factory function')
}
const middleware = (req, res, next) => {
const logger = options.loggerFactory(req, res)
req.context = { ...req.context, logger: logger }
next()
}
middleware.options = options
return middleware
}