Ler em inglês

Compartilhar via


HttpClientBuilderExtensions.AddLogger Método

Definição

Sobrecargas

AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean)

Adiciona um delegado que será usado para criar um agente adicional para um chamado HttpClient. O agente personalizado seria invocado de um log dedicado DelegatingHandler em cada solicitação do correspondente chamado HttpClient.

AddLogger<TLogger>(IHttpClientBuilder, Boolean)

Adiciona um delegado que será usado para criar um agente adicional para um chamado HttpClient. O agente personalizado seria invocado de um log dedicado DelegatingHandler em cada solicitação do correspondente chamado HttpClient.

AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean)

Origem:
HttpClientBuilderExtensions.Logging.cs
Origem:
HttpClientBuilderExtensions.Logging.cs
Origem:
HttpClientBuilderExtensions.Logging.cs
Origem:
HttpClientBuilderExtensions.Logging.cs

Adiciona um delegado que será usado para criar um agente adicional para um chamado HttpClient. O agente personalizado seria invocado de um log dedicado DelegatingHandler em cada solicitação do correspondente chamado HttpClient.

C#
public static Microsoft.Extensions.DependencyInjection.IHttpClientBuilder AddLogger (this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder builder, Func<IServiceProvider,Microsoft.Extensions.Http.Logging.IHttpClientLogger> httpClientLoggerFactory, bool wrapHandlersPipeline = false);

Parâmetros

httpClientLoggerFactory
Func<IServiceProvider,IHttpClientLogger>

Um delegado usado para criar um agente personalizado. O agente deve implementar IHttpClientLogger ou IHttpClientAsyncLogger.

wrapHandlersPipeline
Boolean

true para adicionar o manipulador de log com o agente personalizado ao início da cadeia de manipuladores adicionais; false para adicioná-lo ao final da cadeia.

Retornos

Um IHttpClientBuilder que pode ser usado para configurar o cliente.

Comentários

Se wrapHandlersPipeline for 'true', LogRequestStart(HttpRequestMessage) e LogRequestStartAsync(HttpRequestMessage, CancellationToken) será executado antes de todos os outros manipuladores adicionais na cadeia. LogRequestStop(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan) e LogRequestStopAsync(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan, CancellationToken) seriam executados após todos os outros manipuladores adicionais, essencialmente encapsulando todo o pipeline.

Se wrapHandlersPipeline for 'false', LogRequestStart(HttpRequestMessage) e LogRequestStartAsync(HttpRequestMessage, CancellationToken) será executado após todos os outros manipuladores adicionais na cadeia, logo antes do manipulador primário. LogRequestStop(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan) e LogRequestStopAsync(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan, CancellationToken) seriam executados antes de todos os outros manipuladores adicionais, logo após o manipulador primário.

O IServiceProvider argumento fornecido para httpClientLoggerFactory será uma referência a um provedor de serviços com escopo que compartilha o tempo de vida da cadeia de manipuladores que está sendo construída.

Se AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean) for chamado várias vezes, vários agentes serão adicionados. Se RemoveAllLoggers(IHttpClientBuilder) não tiver sido chamado antes de chamar AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean), o novo agente será adicionado além dos padrão.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0

AddLogger<TLogger>(IHttpClientBuilder, Boolean)

Origem:
HttpClientBuilderExtensions.Logging.cs
Origem:
HttpClientBuilderExtensions.Logging.cs
Origem:
HttpClientBuilderExtensions.Logging.cs

Adiciona um delegado que será usado para criar um agente adicional para um chamado HttpClient. O agente personalizado seria invocado de um log dedicado DelegatingHandler em cada solicitação do correspondente chamado HttpClient.

C#
public static Microsoft.Extensions.DependencyInjection.IHttpClientBuilder AddLogger<TLogger> (this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder builder, bool wrapHandlersPipeline = false) where TLogger : Microsoft.Extensions.Http.Logging.IHttpClientLogger;

Parâmetros de tipo

TLogger

O tipo de serviço do agente personalizado como ele foi registrado no DI. O agente deve implementar IHttpClientLogger ou IHttpClientAsyncLogger.

Parâmetros

wrapHandlersPipeline
Boolean

true para adicionar o manipulador de log com o agente personalizado ao início da cadeia de manipuladores adicionais; false para adicioná-lo ao final da cadeia.

Retornos

Um IHttpClientBuilder que pode ser usado para configurar o cliente.

Comentários

Se wrapHandlersPipeline for 'true', LogRequestStart(HttpRequestMessage) e LogRequestStartAsync(HttpRequestMessage, CancellationToken) será executado antes de todos os outros manipuladores adicionais na cadeia. LogRequestStop(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan) e LogRequestStopAsync(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan, CancellationToken) seriam executados após todos os outros manipuladores adicionais, essencialmente encapsulando todo o pipeline.

Se wrapHandlersPipeline for 'false', LogRequestStart(HttpRequestMessage) e LogRequestStartAsync(HttpRequestMessage, CancellationToken) será executado após todos os outros manipuladores adicionais na cadeia, logo antes do manipulador primário. LogRequestStop(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan) e LogRequestStopAsync(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan, CancellationToken) seriam executados antes de todos os outros manipuladores adicionais, logo após o manipulador primário.

O TLogger será resolvido de um provedor de serviços com escopo que compartilha o tempo de vida da cadeia de manipuladores que está sendo construída.

Se AddLogger<TLogger>(IHttpClientBuilder, Boolean) for chamado várias vezes, vários agentes serão adicionados. Se RemoveAllLoggers(IHttpClientBuilder) não tiver sido chamado antes de chamar AddLogger<TLogger>(IHttpClientBuilder, Boolean), o novo agente será adicionado além dos padrão.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0