From e6d131841887dbb34abd4d87713ce5d326fefa8a Mon Sep 17 00:00:00 2001 From: Miguel Veloso Date: Thu, 21 Feb 2019 15:58:15 +0000 Subject: [PATCH] Add LogContext for behaviour transacction --- .../Application/Behaviors/TransactionBehaviour.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/Services/Ordering/Ordering.API/Application/Behaviors/TransactionBehaviour.cs b/src/Services/Ordering/Ordering.API/Application/Behaviors/TransactionBehaviour.cs index 49a325477..27da201fc 100644 --- a/src/Services/Ordering/Ordering.API/Application/Behaviors/TransactionBehaviour.cs +++ b/src/Services/Ordering/Ordering.API/Application/Behaviors/TransactionBehaviour.cs @@ -3,6 +3,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.eShopOnContainers.Services.Ordering.Infrastructure; using Microsoft.Extensions.Logging; using Ordering.API.Application.IntegrationEvents; +using Serilog.Context; using System; using System.Threading; using System.Threading.Tasks; @@ -35,15 +36,18 @@ namespace Ordering.API.Application.Behaviors await strategy.ExecuteAsync(async () => { - _logger.LogInformation("----- Begin transaction for {CommandName} ({@Command})", typeName, request); + var transaction = await _dbContext.BeginTransactionAsync(); - await _dbContext.BeginTransactionAsync(); + using (LogContext.PushProperty("TransactionContext", transaction.TransactionId)) + { + _logger.LogInformation("----- Begin transaction {TransactionId} for {CommandName} ({@Command})", transaction.TransactionId, typeName, request); - response = await next(); + response = await next(); - await _dbContext.CommitTransactionAsync(); + await _dbContext.CommitTransactionAsync(); - _logger.LogInformation("----- Transaction commited for {CommandName}", typeName); + _logger.LogInformation("----- Transaction {TransactionId} committed for {CommandName}", transaction.TransactionId, typeName); + } await _orderingIntegrationEventService.PublishEventsThroughEventBusAsync(); });