diff --git a/src/Messaging/Events/ExportCompleteEvent.cs b/src/Messaging/Events/ExportCompleteEvent.cs
index cf834a2..1af942e 100644
--- a/src/Messaging/Events/ExportCompleteEvent.cs
+++ b/src/Messaging/Events/ExportCompleteEvent.cs
@@ -54,25 +54,27 @@ public class ExportCompleteEvent : EventBase
///
/// Gets or sets files exported with its status
///
- [JsonProperty(PropertyName = "files")]
- public Dictionary FileStatus { get; set; }
+ [JsonProperty(PropertyName = "file_statuses")]
+ public Dictionary FileStatuses { get; set; }
[JsonConstructor]
public ExportCompleteEvent()
{
Status = ExportStatus.Unknown;
- FileStatus = new Dictionary();
+ FileStatuses = new Dictionary();
}
- public ExportCompleteEvent(ExportRequestEvent exportRequest, ExportStatus exportStatus)
+ public ExportCompleteEvent(ExportRequestEvent exportRequest, ExportStatus exportStatus, Dictionary fileStatuses)
{
Guard.Against.Null(exportRequest, nameof(exportRequest));
Guard.Against.Null(exportStatus, nameof(exportStatus));
+ Guard.Against.Null(fileStatuses, nameof(fileStatuses));
WorkflowInstanceId = exportRequest.WorkflowInstanceId;
ExportTaskId = exportRequest.ExportTaskId;
Message = string.Join(System.Environment.NewLine, exportRequest.ErrorMessages);
Status = exportStatus;
+ FileStatuses = fileStatuses;
}
}
}
diff --git a/src/Messaging/Events/ExportStatus.cs b/src/Messaging/Events/ExportStatus.cs
index 9420c35..d0dc146 100644
--- a/src/Messaging/Events/ExportStatus.cs
+++ b/src/Messaging/Events/ExportStatus.cs
@@ -31,6 +31,11 @@ public enum FileExportStatus
///
Success,
+ ///
+ /// Export failed due to configuration error
+ ///
+ ConfigurationError,
+
///
/// File is unsupported
///
@@ -41,6 +46,11 @@ public enum FileExportStatus
///
ServiceError,
+ ///
+ /// Error downloading file from storage service
+ ///
+ DownloadError,
+
///
/// Unknown error
///
diff --git a/src/Messaging/Tests/ExportCompleteEventTest.cs b/src/Messaging/Tests/ExportCompleteEventTest.cs
index 6f0688b..45823b0 100644
--- a/src/Messaging/Tests/ExportCompleteEventTest.cs
+++ b/src/Messaging/Tests/ExportCompleteEventTest.cs
@@ -54,14 +54,22 @@ public void ShallGenerateExportCompleteMessageTestFromExportRequestMessage()
Guid.NewGuid().ToString(),
};
+ var fileStatus = new Dictionary()
+ {
+ {Guid.NewGuid().ToString(), FileExportStatus.Success},
+ {Guid.NewGuid().ToString(), FileExportStatus.DownloadError},
+ {Guid.NewGuid().ToString(), FileExportStatus.ConfigurationError},
+ };
+
exportRequestMessage.AddErrorMessages(errors);
- var exportCompleteMessage = new ExportCompleteEvent(exportRequestMessage, ExportStatus.Success);
+ var exportCompleteMessage = new ExportCompleteEvent(exportRequestMessage, ExportStatus.Success, fileStatus);
Assert.Equal(exportRequestMessage.WorkflowInstanceId, exportCompleteMessage.WorkflowInstanceId);
Assert.Equal(exportRequestMessage.ExportTaskId, exportCompleteMessage.ExportTaskId);
Assert.Equal(string.Join(Environment.NewLine, errors), exportCompleteMessage.Message);
Assert.Equal(ExportStatus.Success, exportCompleteMessage.Status);
+ Assert.Equal(fileStatus, exportCompleteMessage.FileStatuses);
}
[Fact(DisplayName = "Validation shall throw on error")]
diff --git a/src/Plugins/RabbitMQ/RabbitMqMessagePublisherService.cs b/src/Plugins/RabbitMQ/RabbitMqMessagePublisherService.cs
index a0eb267..8139b0f 100644
--- a/src/Plugins/RabbitMQ/RabbitMqMessagePublisherService.cs
+++ b/src/Plugins/RabbitMQ/RabbitMqMessagePublisherService.cs
@@ -16,6 +16,7 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.Tracing;
using System.Globalization;
using System.Threading.Tasks;
using Ardalis.GuardClauses;
@@ -99,7 +100,12 @@ public Task Publish(string topic, Message message)
Guard.Against.NullOrWhiteSpace(topic, nameof(topic));
Guard.Against.Null(message, nameof(message));
- using var loggerScope = _logger.BeginScope(string.Format(CultureInfo.InvariantCulture, Logger.LoggingScopeMessageApplication, message.MessageId, message.ApplicationId));
+ using var loggingScope = _logger.BeginScope(new Dictionary
+ {
+ ["MessageId"] = message.MessageId,
+ ["ApplicationId"] = message.ApplicationId,
+ ["CorrelationId"] = message.CorrelationId
+ });
_logger.PublshingRabbitMQ(_endpoint, _virtualHost, _exchange, topic);
diff --git a/src/Plugins/RabbitMQ/RabbitMqMessageSubscriberService.cs b/src/Plugins/RabbitMQ/RabbitMqMessageSubscriberService.cs
index 5bf2c06..9c85e59 100644
--- a/src/Plugins/RabbitMQ/RabbitMqMessageSubscriberService.cs
+++ b/src/Plugins/RabbitMQ/RabbitMqMessageSubscriberService.cs
@@ -143,7 +143,12 @@ public void Subscribe(string[] topics, string queue, Action
{
- using var loggerScope = _logger.BeginScope(string.Format(CultureInfo.InvariantCulture, Logger.LoggingScopeMessageApplication, eventArgs.BasicProperties.MessageId, eventArgs.BasicProperties.AppId));
+ using var loggingScope = _logger.BeginScope(new Dictionary
+ {
+ ["MessageId"] = eventArgs.BasicProperties.MessageId,
+ ["ApplicationId"] = eventArgs.BasicProperties.AppId,
+ ["CorrelationId"] = eventArgs.BasicProperties.CorrelationId
+ });
_logger.MessageReceivedFromQueue(queueDeclareResult.QueueName, eventArgs.RoutingKey);
@@ -200,7 +205,13 @@ public void SubscribeAsync(string[] topics, string queue, Func
{
- using var loggerScope = _logger.BeginScope(string.Format(CultureInfo.InvariantCulture, Logger.LoggingScopeMessageApplication, eventArgs.BasicProperties.MessageId, eventArgs.BasicProperties.AppId));
+ using var loggingScope = _logger.BeginScope(new Dictionary
+ {
+ ["MessageId"] = eventArgs.BasicProperties.MessageId,
+ ["ApplicationId"] = eventArgs.BasicProperties.AppId,
+ ["CorrelationId"] = eventArgs.BasicProperties.CorrelationId
+
+ });
_logger.MessageReceivedFromQueue(queueDeclareResult.QueueName, eventArgs.RoutingKey);