共用方式為


HttpClientBuilderExtensions.AddLogger 方法

定義

多載

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

加入將用來為具名 HttpClient建立其他記錄器的委派。 自定義記錄器會在對應 HttpClient之 的每個要求上,從專用記錄委派Handler 叫用。

AddLogger<TLogger>(IHttpClientBuilder, Boolean)

加入將用來為具名 HttpClient建立其他記錄器的委派。 自定義記錄器會在對應 HttpClient之 的每個要求上,從專用記錄委派Handler 叫用。

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

來源:
HttpClientBuilderExtensions.Logging.cs
來源:
HttpClientBuilderExtensions.Logging.cs
來源:
HttpClientBuilderExtensions.Logging.cs
來源:
HttpClientBuilderExtensions.Logging.cs

加入將用來為具名 HttpClient建立其他記錄器的委派。 自定義記錄器會在對應 HttpClient之 的每個要求上,從專用記錄委派Handler 叫用。

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

參數

httpClientLoggerFactory
Func<IServiceProvider,IHttpClientLogger>

用來建立自定義記錄器的委派。 記錄器應該實 IHttpClientLogger 作 或 IHttpClientAsyncLogger

wrapHandlersPipeline
Boolean

true 將記錄處理程式與自定義記錄器新增至其他處理程式鏈結的開頭; false 將它新增至鏈結結尾。

傳回

可以用於設定用戶端的 IHttpClientBuilder

備註

如果 wrapHandlersPipeline 為 'true', LogRequestStart(HttpRequestMessage) 則會 LogRequestStartAsync(HttpRequestMessage, CancellationToken) 在鏈結中的所有其他處理程式之前執行。 LogRequestStop(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan)LogRequestStopAsync(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan, CancellationToken) 會在所有其他處理程序之後執行,基本上會包裝整個管線。

如果 wrapHandlersPipeline 為 『false』, LogRequestStart(HttpRequestMessage) 則會 LogRequestStartAsync(HttpRequestMessage, CancellationToken) 在鏈結中所有其他處理程式之後執行,並在主要處理程式之前執行。 LogRequestStop(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan)LogRequestStopAsync(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan, CancellationToken) 會在所有其他額外處理程式之前執行,就在主要處理程序之後。

提供給 httpClientLoggerFactoryIServiceProvider自變數將會是範圍服務提供者的參考,可共用所建構之處理程式鏈結的存留期。

如果 AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean) 多次呼叫 ,則會新增多個記錄器。 如果在 RemoveAllLoggers(IHttpClientBuilder) 呼叫 之前未呼叫 AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean),則除了默認記錄器之外,還會新增新的記錄器。

適用於

AddLogger<TLogger>(IHttpClientBuilder, Boolean)

來源:
HttpClientBuilderExtensions.Logging.cs
來源:
HttpClientBuilderExtensions.Logging.cs
來源:
HttpClientBuilderExtensions.Logging.cs

加入將用來為具名 HttpClient建立其他記錄器的委派。 自定義記錄器會在對應 HttpClient之 的每個要求上,從專用記錄委派Handler 叫用。

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

類型參數

TLogger

自訂記錄器在 DI 中註冊時的服務類型。 記錄器應該實 IHttpClientLogger 作 或 IHttpClientAsyncLogger

參數

wrapHandlersPipeline
Boolean

true 將記錄處理程式與自定義記錄器新增至其他處理程式鏈結的開頭; false 將它新增至鏈結結尾。

傳回

可以用於設定用戶端的 IHttpClientBuilder

備註

如果 wrapHandlersPipeline 為 'true', LogRequestStart(HttpRequestMessage) 則會 LogRequestStartAsync(HttpRequestMessage, CancellationToken) 在鏈結中的所有其他處理程式之前執行。 LogRequestStop(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan)LogRequestStopAsync(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan, CancellationToken) 會在所有其他處理程序之後執行,基本上會包裝整個管線。

如果 wrapHandlersPipeline 為 『false』, LogRequestStart(HttpRequestMessage) 則會 LogRequestStartAsync(HttpRequestMessage, CancellationToken) 在鏈結中所有其他處理程式之後執行,並在主要處理程式之前執行。 LogRequestStop(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan)LogRequestStopAsync(Object, HttpRequestMessage, HttpResponseMessage, TimeSpan, CancellationToken) 會在所有其他額外處理程式之前執行,就在主要處理程序之後。

TLogger將會從共用所建構之處理程式鏈結存留期的範圍服務提供者解析。

如果 AddLogger<TLogger>(IHttpClientBuilder, Boolean) 多次呼叫 ,則會新增多個記錄器。 如果在 RemoveAllLoggers(IHttpClientBuilder) 呼叫 之前未呼叫 AddLogger<TLogger>(IHttpClientBuilder, Boolean),則除了默認記錄器之外,還會新增新的記錄器。

適用於