diff --git a/WebApiClientCore/Attributes/FilterAttributes/LoggingFilterAttribute.cs b/WebApiClientCore/Attributes/FilterAttributes/LoggingFilterAttribute.cs index f6803901..e02416df 100644 --- a/WebApiClientCore/Attributes/FilterAttributes/LoggingFilterAttribute.cs +++ b/WebApiClientCore/Attributes/FilterAttributes/LoggingFilterAttribute.cs @@ -126,20 +126,23 @@ public sealed async override Task OnResponseAsync(ApiResponseContext context) /// protected virtual Task WriteLogAsync(ApiResponseContext context, LogMessage logMessage) { - var method = context.ApiAction.Member; - var categoryName = $"{method.DeclaringType?.Namespace}.{method.DeclaringType?.Name}.{method.Name}"; - var loggerFactory = context.HttpContext.ServiceProvider.GetService(); if (loggerFactory == null) { return Task.CompletedTask; } + var method = context.ApiAction.Member; + var categoryName = $"{method.DeclaringType?.Namespace}.{method.DeclaringType?.Name}.{method.Name}"; var logger = loggerFactory.CreateLogger(categoryName); - logger.LogInformation(logMessage.ToExcludeException().ToString()); - if (logMessage.Exception != null) + + if (logMessage.Exception == null) + { + logger.LogInformation(logMessage.ToString()); + } + else { - logger.LogError(logMessage.Exception, logMessage.Exception.Message); + logger.LogError(logMessage.ToString()); } return Task.CompletedTask;