Hey,
I have configured logging as
.WithLogging(HttpTracerMode.ErrorsAndExceptionsOnly, HttpMessageParts.AllButRequestBody)
In this case I would expect response body to be logged only when there is a failure. However, it seems like apizr is logging it even for success scenarios. Now looking at the code of ExtendedHttpTracerHandler, it seems like check for success/failure is missing before logging response body.
if (tracerMode >= HttpTracerMode.ErrorsAndExceptionsOnly)
{
if (!response.IsSuccessStatusCode && verbosity.HasRequestFlags())
{
if (tracerMode == HttpTracerMode.ErrorsAndExceptionsOnly)
await LogHttpRequest(request, logger, logLevels, verbosity, shouldRedactHeaderValue).ConfigureAwait(false);
await LogHttpErrorRequest(request, logger, logLevels, verbosity, shouldRedactHeaderValue).ConfigureAwait(false);
}
if(verbosity.HasResponseFlags())
await LogHttpResponse(response, stopwatch.Elapsed, logger, logLevels, verbosity, shouldRedactHeaderValue).ConfigureAwait(false);
}
Would suggest to change the condition before LogHttpResponse to if(verbosity.HasResponseFlags() && (tracerMode == HttpTracerMode.Everything || !response.IsSuccessStatusCode))
Hey,
I have configured logging as
.WithLogging(HttpTracerMode.ErrorsAndExceptionsOnly, HttpMessageParts.AllButRequestBody)In this case I would expect response body to be logged only when there is a failure. However, it seems like apizr is logging it even for success scenarios. Now looking at the code of ExtendedHttpTracerHandler, it seems like check for success/failure is missing before logging response body.
Would suggest to change the condition before LogHttpResponse to
if(verbosity.HasResponseFlags() && (tracerMode == HttpTracerMode.Everything || !response.IsSuccessStatusCode))