HttpClientBuilderExtensions.AddLogger Methode

Definition

Überlädt

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

Fügt einen Delegaten hinzu, der zum Erstellen einer zusätzlichen Protokollierung für einen namens HttpClientverwendet wird. Die benutzerdefinierte Protokollierung wird von einem dedizierten ProtokollierungsdelegatingHandler für jede Anforderung des entsprechenden namens HttpClientaufgerufen.

AddLogger<TLogger>(IHttpClientBuilder, Boolean)

Fügt einen Delegaten hinzu, der zum Erstellen einer zusätzlichen Protokollierung für einen namens HttpClientverwendet wird. Die benutzerdefinierte Protokollierung wird von einem dedizierten ProtokollierungsdelegatingHandler für jede Anforderung des entsprechenden namens HttpClientaufgerufen.

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

Quelle:
HttpClientBuilderExtensions.Logging.cs
Quelle:
HttpClientBuilderExtensions.Logging.cs
Quelle:
HttpClientBuilderExtensions.Logging.cs

Fügt einen Delegaten hinzu, der zum Erstellen einer zusätzlichen Protokollierung für einen namens HttpClientverwendet wird. Die benutzerdefinierte Protokollierung wird von einem dedizierten ProtokollierungsdelegatingHandler für jede Anforderung des entsprechenden namens HttpClientaufgerufen.

public static Microsoft.Extensions.DependencyInjection.IHttpClientBuilder AddLogger (this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder builder, Func<IServiceProvider,Microsoft.Extensions.Http.Logging.IHttpClientLogger> httpClientLoggerFactory, bool wrapHandlersPipeline = false);
static member AddLogger : Microsoft.Extensions.DependencyInjection.IHttpClientBuilder * Func<IServiceProvider, Microsoft.Extensions.Http.Logging.IHttpClientLogger> * bool -> Microsoft.Extensions.DependencyInjection.IHttpClientBuilder
<Extension()>
Public Function AddLogger (builder As IHttpClientBuilder, httpClientLoggerFactory As Func(Of IServiceProvider, IHttpClientLogger), Optional wrapHandlersPipeline As Boolean = false) As IHttpClientBuilder

Parameter

httpClientLoggerFactory
Func<IServiceProvider,IHttpClientLogger>

Ein Delegat, der zum Erstellen einer benutzerdefinierten Protokollierung verwendet wird. Die Protokollierung sollte oder IHttpClientAsyncLoggerimplementierenIHttpClientLogger.

wrapHandlersPipeline
Boolean

true , um den Protokollierungshandler mit der benutzerdefinierten Protokollierung am Anfang der zusätzlichen Handlerkette hinzuzufügen; false , um es am Ende der Kette hinzuzufügen.

Gibt zurück

Eine IHttpClientBuilder-Schnittstelle, die zum Konfigurieren des Clients verwendet werden kann.

Hinweise

Wenn wrapHandlersPipeline "true LogRequestStart(HttpRequestMessage) " ist und LogRequestStartAsync(HttpRequestMessage, CancellationToken) vor allen anderen zusätzlichen Handlern in der Kette ausgeführt wird. LogRequestStop(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan) und LogRequestStopAsync(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan, CancellationToken) würde nach allen anderen zusätzlichen Handlern ausgeführt werden, wobei im Wesentlichen die gesamte Pipeline umschlossen wird.

Wenn wrapHandlersPipeline "false LogRequestStart(HttpRequestMessage) " ist und LogRequestStartAsync(HttpRequestMessage, CancellationToken) nach allen anderen zusätzlichen Handlern in der Kette direkt vor dem primären Handler ausgeführt wird. LogRequestStop(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan) und LogRequestStopAsync(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan, CancellationToken) würde direkt nach dem primären Handler vor allen anderen zusätzlichen Handlern ausgeführt werden.

Das IServiceProvider für bereitgestellte httpClientLoggerFactory Argument ist ein Verweis auf einen bereichsbezogenen Dienstanbieter, der die Lebensdauer der zu erstellenden Handlerkette gemeinsam verwendet.

Wenn AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean) mehrfach aufgerufen wird, werden mehrere Protokollierungen hinzugefügt. Wenn RemoveAllLoggers(IHttpClientBuilder) vor dem Aufrufen AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean)nicht aufgerufen wurde, wird zusätzlich zu den Standardprotokollierungen eine neue Protokollierung hinzugefügt.

Gilt für:

AddLogger<TLogger>(IHttpClientBuilder, Boolean)

Quelle:
HttpClientBuilderExtensions.Logging.cs
Quelle:
HttpClientBuilderExtensions.Logging.cs
Quelle:
HttpClientBuilderExtensions.Logging.cs

Fügt einen Delegaten hinzu, der zum Erstellen einer zusätzlichen Protokollierung für einen namens HttpClientverwendet wird. Die benutzerdefinierte Protokollierung wird von einem dedizierten ProtokollierungsdelegatingHandler für jede Anforderung des entsprechenden namens HttpClientaufgerufen.

public static Microsoft.Extensions.DependencyInjection.IHttpClientBuilder AddLogger<TLogger> (this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder builder, bool wrapHandlersPipeline = false) where TLogger : Microsoft.Extensions.Http.Logging.IHttpClientLogger;
static member AddLogger : Microsoft.Extensions.DependencyInjection.IHttpClientBuilder * bool -> Microsoft.Extensions.DependencyInjection.IHttpClientBuilder (requires 'Logger :> Microsoft.Extensions.Http.Logging.IHttpClientLogger)
<Extension()>
Public Function AddLogger(Of TLogger As IHttpClientLogger) (builder As IHttpClientBuilder, Optional wrapHandlersPipeline As Boolean = false) As IHttpClientBuilder

Typparameter

TLogger

Der Diensttyp der benutzerdefinierten Protokollierung, wie sie in DI registriert wurde. Die Protokollierung sollte oder IHttpClientAsyncLoggerimplementierenIHttpClientLogger.

Parameter

wrapHandlersPipeline
Boolean

true , um den Protokollierungshandler mit der benutzerdefinierten Protokollierung am Anfang der zusätzlichen Handlerkette hinzuzufügen; false , um es am Ende der Kette hinzuzufügen.

Gibt zurück

Eine IHttpClientBuilder-Schnittstelle, die zum Konfigurieren des Clients verwendet werden kann.

Hinweise

Wenn wrapHandlersPipeline "true LogRequestStart(HttpRequestMessage) " ist und LogRequestStartAsync(HttpRequestMessage, CancellationToken) vor allen anderen zusätzlichen Handlern in der Kette ausgeführt wird. LogRequestStop(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan) und LogRequestStopAsync(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan, CancellationToken) würde nach allen anderen zusätzlichen Handlern ausgeführt werden, wobei im Wesentlichen die gesamte Pipeline umschlossen wird.

Wenn wrapHandlersPipeline "false LogRequestStart(HttpRequestMessage) " ist und LogRequestStartAsync(HttpRequestMessage, CancellationToken) nach allen anderen zusätzlichen Handlern in der Kette direkt vor dem primären Handler ausgeführt wird. LogRequestStop(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan) und LogRequestStopAsync(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan, CancellationToken) würde direkt nach dem primären Handler vor allen anderen zusätzlichen Handlern ausgeführt werden.

Die TLogger wird von einem bereichsbezogenen Dienstanbieter aufgelöst, der die Lebensdauer der zu erstellenden Handlerkette gemeinsam verwendet.

Wenn AddLogger<TLogger>(IHttpClientBuilder, Boolean) mehrfach aufgerufen wird, werden mehrere Protokollierungen hinzugefügt. Wenn RemoveAllLoggers(IHttpClientBuilder) vor dem Aufrufen AddLogger<TLogger>(IHttpClientBuilder, Boolean)nicht aufgerufen wurde, wird zusätzlich zu den Standardprotokollierungen eine neue Protokollierung hinzugefügt.

Gilt für: