diff --git a/src/Arcus.WebApi.Logging.Core/Arcus.WebApi.Logging.Core.csproj b/src/Arcus.WebApi.Logging.Core/Arcus.WebApi.Logging.Core.csproj
index d43c4789..c2954ff6 100644
--- a/src/Arcus.WebApi.Logging.Core/Arcus.WebApi.Logging.Core.csproj
+++ b/src/Arcus.WebApi.Logging.Core/Arcus.WebApi.Logging.Core.csproj
@@ -26,9 +26,8 @@
-
-
-
+
+
diff --git a/src/Arcus.WebApi.Logging.Core/Correlation/HttpCorrelationMessageHandler.cs b/src/Arcus.WebApi.Logging.Core/Correlation/HttpCorrelationMessageHandler.cs
index 13bb04f6..2def663b 100644
--- a/src/Arcus.WebApi.Logging.Core/Correlation/HttpCorrelationMessageHandler.cs
+++ b/src/Arcus.WebApi.Logging.Core/Correlation/HttpCorrelationMessageHandler.cs
@@ -1,9 +1,9 @@
-using System;
+using System;
using System.Net;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
-using Arcus.Observability.Correlation;
+using Arcus.Observability.Correlation;
using Arcus.Observability.Telemetry.Core;
using Microsoft.Extensions.Logging;
@@ -28,8 +28,8 @@ public class HttpCorrelationMessageHandler : DelegatingHandler
/// Thrown when the , , or is null.
///
public HttpCorrelationMessageHandler(
- IHttpCorrelationInfoAccessor correlationInfoAccessor,
- HttpCorrelationClientOptions options,
+ IHttpCorrelationInfoAccessor correlationInfoAccessor,
+ HttpCorrelationClientOptions options,
ILogger logger)
{
_correlationInfoAccessor = correlationInfoAccessor ?? throw new ArgumentNullException(nameof(correlationInfoAccessor), "Requires a HTTP context accessor to retrieve the current HTTP correlation");
@@ -52,7 +52,7 @@ protected override async Task SendAsync(HttpRequestMessage
CorrelationInfo correlation = DetermineCorrelationInfo();
request.Headers.Add(_options.TransactionIdHeaderName, correlation.TransactionId);
-
+
using (var measurement = DurationMeasurement.Start())
{
try
@@ -64,7 +64,9 @@ protected override async Task SendAsync(HttpRequestMessage
}
finally
{
+#pragma warning disable CS0618 // Type or member is obsolete
_logger.LogHttpDependency(request, statusCode, measurement, dependencyId, _options.TelemetryContext);
+#pragma warning restore CS0618 // Type or member is obsolete
}
}
}
@@ -75,8 +77,8 @@ private CorrelationInfo DetermineCorrelationInfo()
if (correlation is null)
{
throw new InvalidOperationException(
- "Cannot enrich the HTTP request with HTTP correlation because no HTTP correlation was registered in the application, "
- + "make sure that you register the HTTP correlation services with 'services.AddHttpCorrelation()' "
+ "Cannot enrich the HTTP request with HTTP correlation because no HTTP correlation was registered in the application, "
+ + "make sure that you register the HTTP correlation services with 'services.AddHttpCorrelation()' "
+ "and that you use the HTTP correlation middleware 'app.UseHttpCorrelation()' in API scenario's");
}
diff --git a/src/Arcus.WebApi.Logging.Core/Extensions/HttpClientExtensions.cs b/src/Arcus.WebApi.Logging.Core/Extensions/HttpClientExtensions.cs
index 7f0081a7..cb525dea 100644
--- a/src/Arcus.WebApi.Logging.Core/Extensions/HttpClientExtensions.cs
+++ b/src/Arcus.WebApi.Logging.Core/Extensions/HttpClientExtensions.cs
@@ -1,4 +1,4 @@
-using System.Threading.Tasks;
+using System.Threading.Tasks;
using Arcus.Observability.Correlation;
using Arcus.Observability.Telemetry.Core;
using Arcus.WebApi.Logging.Core.Correlation;
@@ -114,9 +114,9 @@ public static async Task SendAsync(
/// Thrown when the , , , is null.
///
public static async Task SendAsync(
- this HttpClient client,
- HttpRequestMessage request,
- CorrelationInfo correlationInfo,
+ this HttpClient client,
+ HttpRequestMessage request,
+ CorrelationInfo correlationInfo,
ILogger logger,
Action configureOptions)
{
@@ -159,8 +159,10 @@ public static async Task SendAsync(
}
finally
{
+#pragma warning disable CS0618 // Type or member is obsolete
logger.LogHttpDependency(request, statusCode, measurement, dependencyId, options.TelemetryContext);
- }
+#pragma warning restore CS0618 // Type or member is obsolete
+ }
}
}
}
diff --git a/src/Arcus.WebApi.Logging/Arcus.WebApi.Logging.csproj b/src/Arcus.WebApi.Logging/Arcus.WebApi.Logging.csproj
index a4e337f3..7d1b26f5 100644
--- a/src/Arcus.WebApi.Logging/Arcus.WebApi.Logging.csproj
+++ b/src/Arcus.WebApi.Logging/Arcus.WebApi.Logging.csproj
@@ -26,10 +26,8 @@
-
-
-
-
+
+
diff --git a/src/Arcus.WebApi.Logging/RequestTrackingMiddleware.cs b/src/Arcus.WebApi.Logging/RequestTrackingMiddleware.cs
index f8813ee4..8a3790c5 100644
--- a/src/Arcus.WebApi.Logging/RequestTrackingMiddleware.cs
+++ b/src/Arcus.WebApi.Logging/RequestTrackingMiddleware.cs
@@ -1,9 +1,10 @@
-using System;
+using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Arcus.Observability.Telemetry.Core;
+using Arcus.Observability.Telemetry.Core.Logging;
using Arcus.WebApi.Logging.Core.RequestTracking;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Features;
@@ -173,7 +174,7 @@ private async Task TrackRequest(HttpContext httpContext, Exclude attributeExclud
if (AllowedToTrackStatusCode(httpContext.Response.StatusCode, attributeTrackedStatusCodes, _logger))
{
string responseBody = await GetPotentialResponseBodyAsync(httpContext, includeResponseBody);
-
+
LogRequest(requestBody, responseBody, httpContext, duration);
}
@@ -228,7 +229,12 @@ private void LogRequest(string requestBody, string responseBody, HttpContext htt
var operationName = DetermineRequestOperationName(httpContext);
- _logger.LogRequest(httpContext.Request, httpContext.Response, operationName, duration, telemetryContext);
+ var request = httpContext.Request;
+ _logger.LogWarning(MessageFormats.RequestFormat,
+#pragma warning disable CS0618 // Type or member is obsolete
+ RequestLogEntry.CreateForHttpRequest(
+#pragma warning restore CS0618 // Type or member is obsolete
+ request.Method, request.Scheme, request.Host.ToString(), request.Path, operationName, httpContext.Response.StatusCode, duration.StartTime, duration.Elapsed, telemetryContext));
}
private static string DetermineRequestOperationName(HttpContext httpContext)
diff --git a/src/Arcus.WebApi.Tests.Integration/Arcus.WebApi.Tests.Integration.csproj b/src/Arcus.WebApi.Tests.Integration/Arcus.WebApi.Tests.Integration.csproj
index d5ac7e05..fac5606e 100644
--- a/src/Arcus.WebApi.Tests.Integration/Arcus.WebApi.Tests.Integration.csproj
+++ b/src/Arcus.WebApi.Tests.Integration/Arcus.WebApi.Tests.Integration.csproj
@@ -19,7 +19,6 @@
-