HttpClientBuilderExtensions.AddLogger 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean) |
添加一个委托,该委托将用于为命名 HttpClient创建其他记录器。 自定义记录器将从专用日志记录 DelegatingHandler 中针对相应的名为 HttpClient的 的每个请求调用。 |
AddLogger<TLogger>(IHttpClientBuilder, Boolean) |
添加一个委托,该委托将用于为命名 HttpClient创建其他记录器。 自定义记录器将从专用日志记录 DelegatingHandler 中针对相应的名为 HttpClient的 的每个请求调用。 |
AddLogger(IHttpClientBuilder, Func<IServiceProvider,IHttpClientLogger>, Boolean)
添加一个委托,该委托将用于为命名 HttpClient创建其他记录器。 自定义记录器将从专用日志记录 DelegatingHandler 中针对相应的名为 HttpClient的 的每个请求调用。
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创建其他记录器。 自定义记录器将从专用日志记录 DelegatingHandler 中针对相应的名为 HttpClient的 的每个请求调用。
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)之前未调用 ,则除默认记录器外,还会添加新记录器。