ASP.NET Core扩展库之Http日志的利用详解

最佳实践都汇报我们不要记录请求的具体日志,因为这有安详问题,但在实际开拓中,请求的具体内容对付快速定位问题却长短常重要的,有时也是系统的强力证据。Xfrogcn.AspNetCore.Extensions扩展库提供了处事端和客户端的具体日志成果,通过设置可以开启。

处事端日志通过请求中间件来完成,中间件会以Trace级别记录请求和应答详情,以Debug级别记录请求耗时。处事的请求日志的名称为ServerRequest.Logger

要开启处事打量情日志,只需将扩展库设置中的ServerRequestLevel属性配置为Verbose级别,该设置默认是Information,故不会记录请求详情及请求耗时。

开启请求详情后,由于需要读取请求和应答的具体内容,对机能将有所影响。同时,由于要读取请求体,将自动开启请求的缓冲。只有在需要记录具体日志时,才会读取详情,故封锁后对付机能不会发生太大影响。

客服端的请求具体日志,是基于IHttpClientFactory以及HttpClient框架,在客户端请求管道处理惩罚中插手了日志记录管道。请求处理惩罚管道会以Trace级别记录请求和应答详情,别的,假如请求产生异常,将以Error级别记录异常详情。客户端请求日志的名称为ClientRequest.Logger

要开启客户端请求具体日志,只需将扩展库设置中的EnableClientRequestLog配置为true,同时将ClientRequestLevel配置为Verbose,该配置的默认值为Information。与处事端一样,只有在切合条件时才会记录请求与应答详情,故假如未开启,对机能不会发生影响。留意,当EnableClientRequestLog配置为false时,扩展库不会将日志请求管道插入客户端请求管道中。该配置默认为true。

一、开启处事端请求日志

要在处事端开启请求具体日志,只需引用Xfrogcn.AspNetCore.Extensions库,然后在Startup类中,设置处事请求级别为Verbose:

public void ConfigureServices(IServiceCollection services) { services.AddExtensions(Configuration, config=> { config.FileLog = true; config.ConsoleLog = true; // 配置处事端请求日志级别为Verbose config.ServerRequestLevel = Serilog.Events.LogEventLevel.Verbose; }); services.AddControllers(); }

二、开启客户端请求日志

要开启客户端日志,只需引用Xfrogcn.AspNetCore.Extensions库,然后在Startup类中,设置ClientRequestLevel为Verbose, EnableClientRequestLog配置为true。

class Program { static async Task Main(string[] args) { IServiceCollection services = new ServiceCollection() .AddExtensions(null, config => { config.EnableClientRequestLog = true; config.ClientRequestLevel = Serilog.Events.LogEventLevel.Verbose; config.ConsoleLog = true; }); IServiceProvider provider = services.BuildServiceProvider(); var clientFactory = provider.GetRequiredService<IHttpClientFactory>(); HttpClient client = clientFactory.CreateClient(); var response = await client.GetAsync("http://localhost:5000/weatherforecast"); Console.ReadLine(); } }

三、示例

具体示例请参考GitHub

Xfrogcn.AspNetCore.Extensions地点:GitHub Gitee

以上就是ASP.NET Core扩展库之Http日志的利用详解的具体内容,更多关于ASP.NET Core扩展库之Http日志的资料请存眷剧本之家其它相关文章!

您大概感乐趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsjfzp.html