UNPKG

adpa-enterprise-framework-automation

Version:

Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe

32 lines 1.12 kB
import { logger } from '../../config/logger.js'; export const requestLogger = (req, res, next) => { const start = Date.now(); // Generate request ID const requestId = req.headers['x-request-id'] || `req_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; req.headers['x-request-id'] = requestId; // Log incoming request logger.info('Incoming request', { requestId, method: req.method, url: req.url, ip: req.ip, userAgent: req.get('User-Agent'), timestamp: new Date().toISOString() }); // Override response.end to log response const originalEnd = res.end.bind(res); res.end = function (chunk, encoding, cb) { const duration = Date.now() - start; logger.info('Response sent', { requestId, method: req.method, url: req.url, statusCode: res.statusCode, duration: `${duration}ms`, timestamp: new Date().toISOString() }); return originalEnd(chunk, encoding, cb); }; next(); }; //# sourceMappingURL=requestLogger.js.map