UNPKG

@unito/integration-sdk

Version:

Integration SDK

23 lines (22 loc) 869 B
import Logger from '../resources/logger.js'; const ADDITIONAL_CONTEXT_HEADER = 'X-Unito-Additional-Logging-Context'; const DEBUG_HEADER = 'X-Unito-Debug'; function injectLogger(req, res, next) { const logger = new Logger({ correlation_id: res.locals.correlationId, request_id: res.locals.requestId }); res.locals.logger = logger; if (req.header(DEBUG_HEADER)) { logger.setLevel('debug'); } const rawAdditionalContext = req.header(ADDITIONAL_CONTEXT_HEADER); if (typeof rawAdditionalContext === 'string') { try { const additionalContext = JSON.parse(rawAdditionalContext); logger.decorate(additionalContext); } catch (error) { logger.warn(`Failed parsing header ${ADDITIONAL_CONTEXT_HEADER}: ${rawAdditionalContext}`); } } next(); } export default injectLogger;