UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

27 lines 1.17 kB
import url from 'url'; import { CLIENT_ERROR_COUNT, SERVER_ERROR_COUNT, } from '../features/metrics/impact/define-impact-metrics.js'; const requestLogger = (config) => { const logger = config.getLogger('HTTP'); const requestLoggerEnabled = config.server.enableRequestLogger; const impactMetrics = config.flagResolver.impactMetrics; return (req, res, next) => { const impactMetricsEnabled = config.flagResolver.isEnabled('impactMetrics'); res.on('finish', () => { if (impactMetricsEnabled && impactMetrics) { if (res.statusCode >= 400 && res.statusCode < 500) { impactMetrics.incrementCounter(CLIENT_ERROR_COUNT); } if (res.statusCode >= 500) { impactMetrics.incrementCounter(SERVER_ERROR_COUNT); } } if (requestLoggerEnabled) { const { pathname } = url.parse(req.originalUrl); logger.info(`${res.statusCode} ${req.method} ${pathname}`); } }); next(); }; }; export default requestLogger; //# sourceMappingURL=request-logger.js.map