< Summary

Information
Class: c:\Source 2025\CurrencyConverter\CurrencyConverter\src\Application\Pipelines\QueryLoggingBehavior.cs
Assembly: Default
File(s): c:\Source 2025\CurrencyConverter\CurrencyConverter\src\Application\Pipelines\QueryLoggingBehavior.cs
Line coverage
100%
Covered lines: 20
Uncovered lines: 0
Coverable lines: 20
Total lines: 45
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

File(s)

c:\Source 2025\CurrencyConverter\CurrencyConverter\src\Application\Pipelines\QueryLoggingBehavior.cs

#LineLine coverage
 1using Domain.Common;
 2using MediatR;
 3using Microsoft.Extensions.Logging;
 4using Serilog.Context;
 5
 6namespace Application.Pipelines;
 7
 8internal sealed class QueryLoggingBehavior<TRequest, TResponse>
 9    : IPipelineBehavior<TRequest, TResponse>
 10    where TRequest : class
 11    where TResponse : Result
 12{
 13    private readonly ILogger<QueryLoggingBehavior<TRequest, TResponse>> _logger;
 14
 215    public QueryLoggingBehavior(ILogger<QueryLoggingBehavior<TRequest, TResponse>> logger)
 216    {
 217        _logger = logger;
 218    }
 19
 20    public async Task<TResponse> Handle(
 21        TRequest request,
 22        RequestHandlerDelegate<TResponse> next,
 23        CancellationToken cancellationToken)
 224    {
 225        string requestName = typeof(TRequest).Name;
 26
 227        _logger.LogInformation("Processing request {RequestName}", requestName);
 28
 229        TResponse result = await next();
 30
 231        if (result.IsSuccess)
 132        {
 133            _logger.LogInformation("Completed request {RequestName}", requestName);
 134        }
 35        else
 136        {
 137            using (LogContext.PushProperty("Error", result.Error, true))
 138            {
 139                _logger.LogError("Completed request {RequestName} with error", requestName);
 140            }
 141        }
 42
 243        return result;
 244    }
 45}