Skip to content

Commit 013919b

Browse files
committed
More logging
1 parent f14c3b3 commit 013919b

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

DevProxy/Proxy/ProxyEngine.cs

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,10 @@ async Task<RequestEventResponse> OnRequestAsync(object _, RequestEventArguments
384384
// throw new InvalidOperationException($"Unable to initialize the plugin data storage for hash key {requestEventArguments.RequestId}");
385385
//}
386386

387+
using var scope = _logger.BeginRequestScope(requestEventArguments.Request.Method, requestEventArguments.Request.RequestUri, requestEventArguments.RequestId);
388+
_logger.LogRequest($"{requestEventArguments.Request.Method} {requestEventArguments.Request.RequestUri}", MessageType.InterceptedRequest, requestEventArguments.Request, requestEventArguments.RequestId);
389+
_logger.LogRequest($"{DateTimeOffset.UtcNow}", MessageType.Timestamp, requestEventArguments.Request, requestEventArguments.RequestId);
390+
387391
if (!ProxyUtils.MatchesUrlToWatch(_urlsToWatch, requestEventArguments.Request.RequestUri.AbsoluteUri))
388392
{
389393
return RequestEventResponse.ContinueResponse();
@@ -395,12 +399,7 @@ async Task<RequestEventResponse> OnRequestAsync(object _, RequestEventArguments
395399
// throw new InvalidOperationException($"Unable to initialize the plugin data storage for hash key {requestEventArguments.RequestId}");
396400
//}
397401

398-
using var scope = _logger.BeginRequestScope(requestEventArguments.Request.Method, requestEventArguments.Request.RequestUri, requestEventArguments.RequestId);
399-
400-
401402
//var loggingContext = new LoggingContext(e);
402-
_logger.LogRequest($"{requestEventArguments.Request.Method} {requestEventArguments.Request.RequestUri}", MessageType.InterceptedRequest, requestEventArguments.Request, requestEventArguments.RequestId);
403-
_logger.LogRequest($"{DateTimeOffset.UtcNow}", MessageType.Timestamp, requestEventArguments.Request, requestEventArguments.RequestId);
404403

405404
return await HandleRequestAsync(requestEventArguments, cancellationToken);
406405
}
@@ -472,12 +471,14 @@ private async Task<RequestEventResponse> HandleRequestAsync(RequestEventArgument
472471
if (response is not null)
473472
{
474473
proxyStorage.RemoveRequestData(arguments.RequestId);
474+
_logger.LogRequest($"{arguments.Request.Method} {arguments.Request.RequestUri}", MessageType.Mocked, arguments.Request, arguments.RequestId);
475475
return RequestEventResponse.EarlyResponse(response);
476476
}
477477
else if (request is not null)
478478
{
479479
// If the request is modified, we need to add the Via header
480480
AddProxyHeader(request);
481+
_logger.LogRequest($"{arguments.Request.Method} {arguments.Request.RequestUri}", MessageType.Processed, arguments.Request, arguments.RequestId);
481482
// We can return the request to be sent to the target
482483
return RequestEventResponse.ModifyRequest(request);
483484
}
@@ -629,7 +630,7 @@ private async Task<ResponseEventResponse> OnResponseAsync(object sender, Respons
629630
}
630631
catch (OperationCanceledException)
631632
{
632-
_logger.LogDebug("Request was cancelled before response completed");
633+
_logger.LogInformation("Request was cancelled before response completed");
633634
return ResponseEventResponse.ContinueResponse();
634635
}
635636
catch (Exception ex)
@@ -644,6 +645,7 @@ private async Task<ResponseEventResponse> OnResponseInternalAsync(object _, Resp
644645
if (cancellationToken.IsCancellationRequested)
645646
{
646647
_logger.LogDebug("Request was cancelled before response completed");
648+
_logger.LogRequest($"{e.Request.Method} {e.Request.RequestUri}", MessageType.Failed, e.Request, e.RequestId);
647649
return ResponseEventResponse.ContinueResponse();
648650
}
649651
// Distributed tracing
@@ -653,7 +655,7 @@ private async Task<ResponseEventResponse> OnResponseInternalAsync(object _, Resp
653655

654656
using var scope = _logger.BeginRequestScope(e.Request.Method, uri, e.RequestId);
655657
var message = $"{e.Request.Method} {e.Response}";
656-
_logger.LogRequest(message, MessageType.InterceptedResponse, e.Request, e.RequestId, e.Response);
658+
_logger.LogRequest(message, MessageType.Normal, e.Request, e.RequestId);
657659
HttpResponseMessage? response = null;
658660
var logPlugins = _plugins.Where(p => p.Enabled && p.OnResponseLogAsync is not null);
659661
if (logPlugins.Any())
@@ -705,6 +707,15 @@ private async Task<ResponseEventResponse> OnResponseInternalAsync(object _, Resp
705707
plugin.Name, e.Response.StatusCode, e.Request.Method, uri);
706708
}
707709
}
710+
if (response is not null)
711+
{
712+
_logger.LogRequest(message, MessageType.Mocked, e.Request, e.RequestId);
713+
}
714+
else
715+
{
716+
response = e.Response;
717+
_logger.LogRequest(message, MessageType.Processed, e.Request, e.RequestId);
718+
}
708719
_logger.LogRequest(message, MessageType.FinishedProcessingRequest, e.Request, e.RequestId, response);
709720
proxyStorage.RemoveRequestData(e.RequestId);
710721
return response is not null

0 commit comments

Comments
 (0)