[backend/logging] Improve logging in ErrorHandlerMiddleware further

This commit is contained in:
Laura Hausmann 2024-06-20 18:25:15 +02:00
parent d94ccaceaa
commit 978a19d6b1
No known key found for this signature in database
GPG key ID: D044E84C5BE01605

View file

@ -35,34 +35,19 @@ public class ErrorHandlerMiddleware(
{ {
if (e is GracefulException { SuppressLog: false } earlyCe) if (e is GracefulException { SuppressLog: false } earlyCe)
{ {
var level = earlyCe.SuppressLog ? LogLevel.Trace : LogLevel.Debug;
if (earlyCe.Details != null) if (earlyCe.Details != null)
{ {
logger.LogDebug("Request {id} was rejected with {statusCode} {error}: {message} - {details}", logger.Log(level, "Request {id} was rejected with {statusCode} {error}: {message} - {details}",
ctx.TraceIdentifier, (int)earlyCe.StatusCode, earlyCe.Error, earlyCe.Message, ctx.TraceIdentifier, (int)earlyCe.StatusCode, earlyCe.Error, earlyCe.Message,
earlyCe.Details); earlyCe.Details);
} }
else else
{ {
logger.LogDebug("Request {id} was rejected with {statusCode} {error}: {message}", logger.Log(level, "Request {id} was rejected with {statusCode} {error}: {message}",
ctx.TraceIdentifier, (int)earlyCe.StatusCode, earlyCe.Error, earlyCe.Message); ctx.TraceIdentifier, (int)earlyCe.StatusCode, earlyCe.Error, earlyCe.Message);
} }
} }
if (e is GracefulException { SuppressLog: true } earlyCeSuppressed)
{
if (earlyCeSuppressed.Details != null)
{
logger.LogTrace("Request {id} was rejected with {statusCode} {error}: {message} - {details} (log suppressed)",
ctx.TraceIdentifier, (int)earlyCeSuppressed.StatusCode, earlyCeSuppressed.Error,
earlyCeSuppressed.Message, earlyCeSuppressed.Details);
}
else
{
logger.LogTrace("Request {id} was rejected with {statusCode} {error}: {message} (log suppressed)",
ctx.TraceIdentifier, (int)earlyCeSuppressed.StatusCode, earlyCeSuppressed.Error,
earlyCeSuppressed.Message);
}
}
else else
{ {
logger.LogError("Request {id} encountered an unexpected error: {exception}", ctx.TraceIdentifier, logger.LogError("Request {id} encountered an unexpected error: {exception}", ctx.TraceIdentifier,
@ -123,17 +108,16 @@ public class ErrorHandlerMiddleware(
RequestId = ctx.TraceIdentifier RequestId = ctx.TraceIdentifier
}); });
if (!ce.SuppressLog) var level = ce.SuppressLog ? LogLevel.Trace : LogLevel.Debug;
{
if (ce.Details != null) if (ce.Details != null)
logger.LogDebug("Request {id} was rejected by {source} with {statusCode} {error}: {message} - {details}", logger.Log(level,
ctx.TraceIdentifier, type, (int)ce.StatusCode, ce.Error, ce.Message, "Request {id} was rejected by {source} with {statusCode} {error}: {message} - {details}",
ce.Details); ctx.TraceIdentifier, type, (int)ce.StatusCode, ce.Error, ce.Message, ce.Details);
else else
logger.LogDebug("Request {id} was rejected by {source} with {statusCode} {error}: {message}", logger.Log(level, "Request {id} was rejected by {source} with {statusCode} {error}: {message}",
ctx.TraceIdentifier, type, (int)ce.StatusCode, ce.Error, ce.Message); ctx.TraceIdentifier, type, (int)ce.StatusCode, ce.Error, ce.Message);
} }
}
else else
{ {
ctx.Response.StatusCode = 500; ctx.Response.StatusCode = 500;