瀏覽代碼

Log message ID on deserialization error

Olivier Coanet 3 年之前
父節點
當前提交
4668a5bf36
共有 2 個文件被更改,包括 2 次插入1 次删除
  1. 1 0
      src/Abc.Zebus.Tests/Core/BusTests.DeserializationErrors.cs
  2. 1 1
      src/Abc.Zebus/Core/Bus.cs

+ 1 - 0
src/Abc.Zebus.Tests/Core/BusTests.DeserializationErrors.cs

@@ -45,6 +45,7 @@ namespace Abc.Zebus.Tests.Core
                         x.FailingMessage.ShouldEqual(transportMessage);
                         x.ExceptionUtcTime.ShouldEqual(SystemDateTime.UtcNow);
                         x.ExceptionMessage.ShouldContain("Unable to deserialize message");
+                        x.ExceptionMessage.ShouldContain($"MessageId: {transportMessage.Id}");
                         return messageProcessingFailedBytes;
                     });
 

+ 1 - 1
src/Abc.Zebus/Core/Bus.cs

@@ -840,7 +840,7 @@ namespace Abc.Zebus.Core
         private void HandleDeserializationError(MessageTypeId messageTypeId, ReadOnlyMemory<byte> messageContent, OriginatorInfo originator, Exception exception, TransportMessage transportMessage)
         {
             var dumpLocation = DumpMessageOnDisk(messageTypeId, messageContent);
-            var errorMessage = $"Unable to deserialize message {messageTypeId.FullName}. Originator: {originator.SenderId}. Message dumped at: {dumpLocation}\r\n{exception}";
+            var errorMessage = $"Unable to deserialize message {messageTypeId.FullName}. MessageId: {transportMessage.Id}. Originator: {originator.SenderId}. Message dumped at: {dumpLocation}\r\n{exception}";
             _logger.LogError(errorMessage);
 
             if (!_configuration.IsErrorPublicationEnabled || !IsRunning)