HttpClientBuilderExtensions.AddLogger 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean) |
加入將用來為具名 HttpClient建立其他記錄器的委派。 自定義記錄器會在對應 HttpClient之 的每個要求上,從專用記錄委派Handler 叫用。 |
AddLogger<TLogger>(IHttpClientBuilder, Boolean) |
加入將用來為具名 HttpClient建立其他記錄器的委派。 自定義記錄器會在對應 HttpClient之 的每個要求上,從專用記錄委派Handler 叫用。 |
AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean)
加入將用來為具名 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
參數
- builder
- 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) 會在所有其他額外處理程式之前執行,就在主要處理程序之後。
提供給 httpClientLoggerFactory
的IServiceProvider自變數將會是範圍服務提供者的參考,可共用所建構之處理程式鏈結的存留期。
如果 AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean) 多次呼叫 ,則會新增多個記錄器。 如果在 RemoveAllLoggers(IHttpClientBuilder) 呼叫 之前未呼叫 AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean),則除了默認記錄器之外,還會新增新的記錄器。
適用於
AddLogger<TLogger>(IHttpClientBuilder, Boolean)
加入將用來為具名 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。
參數
- builder
- IHttpClientBuilder
- 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),則除了默認記錄器之外,還會新增新的記錄器。