Serilog如何在ASP。网络核心中使用

  介绍

本篇文章为大家展示了Serilog如何在ASP。网络核心中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

安装Serilog

使用Visual Studio新建ASP。网络核心项目,接下来从NuGet上拉几个包,具体如下:

<李>

Serilog

这个包提供了对基本的结构化日志的功能支持。

<李>

Serilog。AspNetCore

这个包提供了Serilog对AspNetCore的支持。

<李>

Serilog.Settings。配置

这个包打通了Serilog和配置,这样你就可以直接从appsettings。json中读取配置。

<李>

Serilog.Sinks。控制台

控制台接收器顾名思义就是将Serilog的日志输出到控制台。

<李>

Serilog.Sinks。RollingFile

实现了对滚动文件的支持。

使用Serilog水槽

Serilog利用水槽特性将日志送到不同的地方,比如:文本文件,数据库,甚至是ElasticSearch中,换句话说,汇特性可以把日志送到它该去的地方,当所有的nuget包都安装好了之后,下面的代码片段展示了如何将日志送到控制台中。

,,,,,,,, public  HomeController (ILogger

 Serilog如何在ASP。网络核心中使用

值得注意的是,Serilog支持多个日志级别,如:冗长,调试信息、警告、错误和致命的。

有时候为了调试目的,将日志送到控制台是一个好办法,但将程序部署到生产之后,更通用的做法就是将日志记录到文件中,这样方便在生产上实时查看并做一定程度的日志分析,刚好这里的Serilog.Sink。RollingFile支持对滚动文件的支持,下面的代码片段展示了如何通过编程的方式将日志送到文件中。

,,,,,,,, public  HomeController ()   ,,,,,,,{   ,,,,,,,,,,,var  logger =, new  LoggerConfiguration () .MinimumLevel.Debug .WriteTo ()   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.RollingFile (@" e: \ log.txt",, retainedFileCountLimit:, 7)   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.CreateLogger ();      ,,,,,,,,,,,for  (int 小姐:=,0;,小姐:& lt;, byte.MaxValue;,我+ +)   ,,,,,,,,,,,{   ,,,,,,,,,,,,,,,logger.Information(美元“log {我}“);   ,,,,,,,,,,,}   ,,,,,,,}

 Serilog如何在ASP。网络核心中使用

使用Serilog替换原生的日志

在ASP。网络核心中内置了记录器组件,这一节中我们一起看看如何使用Serilog将其进行替换,在程序。主方法中使用如下代码:

,,,, public  class 程序   ,,,{   ,,,,,,,public  static  void  Main (string [], args)   ,,,,,,,{   ,,,,,,,,,,,Log.Logger =, new  LoggerConfiguration ()   ,,,,,,,,,,,,.MinimumLevel.Debug ()   ,,,,,,,,,,,,.MinimumLevel.Override (“Microsoft",, LogEventLevel.Information)   ,,,,,,,,,,,,.Enrich.FromLogContext ()   ,,,,,,,,,,,,.WriteTo.Console ()   ,,,,,,,,,,,,.CreateLogger ();      ,,,,,,,,,,,试一试   ,,,,,,,,,,,{   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Serilog如何在ASP。网络核心中使用