HttpClientBuilderExtensions.AddLogger Methode

Definition

Überlädt

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

Fügt einen Delegaten hinzu, der zum Erstellen eines zusätzlichen Loggers für einen Benannten HttpClientverwendet wird. Der benutzerdefinierte Logger 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 eines zusätzlichen Loggers für einen Benannten HttpClientverwendet wird. Der benutzerdefinierte Logger 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
Quelle:
HttpClientBuilderExtensions.Logging.cs

Fügt einen Delegaten hinzu, der zum Erstellen eines zusätzlichen Loggers für einen Benannten HttpClientverwendet wird. Der benutzerdefinierte Logger 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>

Eine Stellvertretung, die zum Erstellen eines benutzerdefinierten Loggers verwendet wird. Der Logger sollte implementieren IHttpClientLogger oder IHttpClientAsyncLogger.

wrapHandlersPipeline
Boolean

Gibt an, ob der Protokollierungshandler mit dem benutzerdefinierten Logger oben oder unten in den zusätzlichen Handlerketten hinzugefügt wird.

Gibt zurück

Ein IHttpClientBuilder Steuerelement, das zum Konfigurieren des Clients verwendet werden kann.

Hinweise

Wenn der wrapHandlersPipeline Wert "true" ist und LogRequestStartAsync(HttpRequestMessage, CancellationToken)LogRequestStart(HttpRequestMessage) 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, die im Wesentlichen die gesamte Pipeline umschließen.

Wenn der wrapHandlersPipeline Wert "false" LogRequestStart(HttpRequestMessage) lautet 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 hinter dem primären Handler vor allen anderen zusätzlichen Handlern ausgeführt werden.

Das IServiceProvider bereitgestellte httpClientLoggerFactory Argument ist ein Verweis auf einen bereichsbezogenen Dienstanbieter, der die Lebensdauer der erstellten Handlerkette gemeinsam verwendet.

Wenn AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean) mehrfach aufgerufen wird, werden mehrere Logger hinzugefügt. Wenn sie vor dem Aufrufen nicht aufgerufen wurde, wird zusätzlich zu den Standardprotokollierungsprotokollierungsprotokollen ein neuer Logger hinzugefügt.If RemoveAllLoggers(IHttpClientBuilder) was not called before calling AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean), the new logger would be added in addition to the default ones.

Gilt für:

AddLogger<TLogger>(IHttpClientBuilder, Boolean)

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

Fügt einen Delegaten hinzu, der zum Erstellen eines zusätzlichen Loggers für einen Benannten HttpClientverwendet wird. Der benutzerdefinierte Logger 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 des benutzerdefinierten Loggers, wie er in DI registriert wurde. Der Logger sollte implementieren IHttpClientLogger oder IHttpClientAsyncLogger.

Parameter

wrapHandlersPipeline
Boolean

Gibt an, ob der Protokollierungshandler mit dem benutzerdefinierten Logger oben oder unten in den zusätzlichen Handlerketten hinzugefügt wird.

Gibt zurück

Ein IHttpClientBuilder Steuerelement, das zum Konfigurieren des Clients verwendet werden kann.

Hinweise

Wenn der wrapHandlersPipeline Wert "true" ist und LogRequestStartAsync(HttpRequestMessage, CancellationToken)LogRequestStart(HttpRequestMessage) 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, die im Wesentlichen die gesamte Pipeline umschließen.

Wenn der wrapHandlersPipeline Wert "false" LogRequestStart(HttpRequestMessage) lautet 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 hinter dem primären Handler vor allen anderen zusätzlichen Handlern ausgeführt werden.

Der TLogger Vorgang wird von einem bereichsbezogenen Dienstanbieter aufgelöst, der die Lebensdauer der erstellten Handlerkette gemeinsam verwendet.

Wenn AddLogger<TLogger>(IHttpClientBuilder, Boolean) mehrfach aufgerufen wird, werden mehrere Logger hinzugefügt. Wenn sie vor dem Aufrufen nicht aufgerufen wurde, wird zusätzlich zu den Standardprotokollierungsprotokollierungsprotokollen ein neuer Logger hinzugefügt.If RemoveAllLoggers(IHttpClientBuilder) was not called before calling AddLogger<TLogger>(IHttpClientBuilder, Boolean), the new logger would be added in addition to the default ones.

Gilt für: