public static void TraceCall(this IAwsLogger logger, string name, Action action, bool critical = false)
        {
            logger.LogTrace(0, $"Calling {name}...");
            try
            {
                action();
                logger.LogTrace(0, $"Returned from {name}.");
            }
            catch (OperationCanceledException)
            {
                logger.LogInfo(0, $"Cancelled {name}.");
            }
            catch (Exception ex)
            {
                logger.LogDebug(0, $"Exception while calling {name}. Error: {ex.Message}", ex);

                if (critical)
                {
                    logger.LogCritical(0, $"Error while calling {name}. Error: {ex.Message}");
                }
                else
                {
                    logger.LogError(0, $"Error while calling {name}. Error: {ex.Message}");
                }
            }
        }
        public AwsDeliveryProcessor(
            string originalMailIdHeaderName,
            string awsAccessKeyId,
            string awsSecretAccessKey,
            string awsRegionName,
            string awsSqsUrl,
            string bounceQueueName,
            string complaintQueueName,
            string deliveryQueueName,
            IAwsLogger logger,
            IAwsMailListManager mailListManager)
        {
            OriginalMailIdHeaderName = originalMailIdHeaderName;
            MailListManager          = mailListManager;
            AwsAccessKeyId           = awsAccessKeyId;
            AwsSecretAccessKey       = awsSecretAccessKey;
            AwsRegionName            = awsRegionName;
            AwsSqsUrl          = awsSqsUrl;
            BounceQueueName    = bounceQueueName;
            ComplaintQueueName = complaintQueueName;
            DeliveryQueueName  = deliveryQueueName;
            Logger             = logger;

            Logger.LogTrace(0, "AwsDeliveryProcessor created.");
        }
Beispiel #3
0
 public MailListManager(IAwsLogger logger)
 {
     Logger = logger;
 }