HttpClientBuilderExtensions.AddLogger Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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)
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
- builder
- IHttpClientBuilder
Das IHttpClientBuilder.
- 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)
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
- builder
- IHttpClientBuilder
Das IHttpClientBuilder.
- 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.