UNPKG

@message-in-the-middle/core

Version:

Framework-agnostic middleware pattern for message queue processing. Core package with all middlewares.

46 lines 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LogOutboundMiddleware = exports.LogInboundMiddleware = void 0; class LogInboundMiddleware { logger; logLevel; constructor(logger, options = {}) { this.logger = logger; this.logLevel = options.logLevel ?? 'info'; } async process(context, next) { const startTime = Date.now(); this.logger.log(`[SQS Inbound] Received message`, { messageId: context.raw?.MessageId, attributes: context.attributes, level: this.logLevel, }); try { await next(); const duration = Date.now() - startTime; this.logger.log(`[SQS Inbound] Processed successfully in ${duration}ms`, { messageId: context.raw?.MessageId }); } catch (error) { const duration = Date.now() - startTime; this.logger.log(`[SQS Inbound] Processing failed after ${duration}ms: ${error.message}`, { messageId: context.raw?.MessageId, error }); throw error; } } } exports.LogInboundMiddleware = LogInboundMiddleware; class LogOutboundMiddleware { logger; constructor(logger) { this.logger = logger; } async processOutbound(context, next) { this.logger.log(`[SQS Outbound] Sending message`, { metadata: context.metadata, messageSize: JSON.stringify(context.message).length, }); await next(); this.logger.log(`[SQS Outbound] Message sent successfully`); } } exports.LogOutboundMiddleware = LogOutboundMiddleware; //# sourceMappingURL=logging.middleware.js.map