一、ASP.NET Core WebApi如何设计一个日志中间件?

ASP.NET Core WebApi一个良好的日志记录内容包含,唯一请求Id(traceId),请求url,请求body内容,相应body内容,执行开始和执行结束时间,总耗时时间等等。通过组合 Docker,ElasticSearch,Kibana,ASP.NET Core 和 Serilog ,您获得了前所未有的便利性和功能,再也没有理由不再将日志记录整合到应用程序中了。。

• 一句话总结今天我们学习到达的目标?
如何在ASP.NET Core使用Elasticsearch和Kibana 来存储和展示我们应用程序的请求详细日志。

ElasticSearch 和 Kibana 改变了这一切。而 Docker 已经使 ElasticSearch 和 Kibana 的启动和运行变得毫不费力。ElasticSearch 和 Kibana 提供的强大功能以及非常高的性能,再加上它是开源的,这真的令人印象非常深刻。

 如果对本次分享课程《ASP.NET Core使用Elasticsearch记录请求响应日志实战演练》感兴趣的话,那么请跟着阿笨一起学习吧。

废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。 

二、ASP.NET Core WebApi如何存储应用程序请求相应日志?

• 什么是 ElasticSearch ?

简单来说,ElasticSearch 是一个开源数据库,非常适合索引日志和分析数据。

• 什么是 Serilog ?

Serilog 是 ASP.NET Core 的一个插件,可以简化日志记录。Serilog 有各种可用的接收器,例如,有纯文本、SQL 和 ElasticSearch 接收器等等。

三、使用Docker快速安装Elasticsearch和Kibana

• 为什么我需要 ElasticSearch 和 Kibana ?

如果您曾经构建过应用程序,那么你一定记录过日志。我们经常去记录错误,但这些错误日志存储在服务器某处的文件文件里,经常会无法被访问。ElasticSearch 使任何类型的日志记录变得简单,易于访问和搜索。

ElasticSearch 令人难以置信的速度和简单的查询语言加上 Kibana 的图形界面,构成了强大的组合。如果您还没有使用 ElasticSearch 进行日志记录,我强烈建议您开始使用它。

 ASP.NET Core使用Elasticsearch记录API请求响应日志实战演练_第1张图片 

 ASP.NET Core使用Elasticsearch记录API请求响应日志实战演练_第2张图片

ASP.NET Core使用Elasticsearch记录API请求响应日志实战演练_第3张图片

 

 

四、ASP.NET Core WebApi如何友好的检索和实时展示日志?

1)、关于日志的检索,可以通过开启服务端目录访问权限,方便进行检索查到定位日志。

• ASP.NET Core开启目录浏览 EnableDirectoryBrowsing = true

2)、关于日志的实时展示,通过kibana工具来进行显示和分析。

• 什么是 Kibana ?

Kibana 是开源的 ElasticSearch 的数据可视化用户界面。可以将 ElasticSearch 视为数据库,将Kibana 视为 Web 用户界面,您可以使用它在 ElasticSearch 中构建图表和查询数据

【网易云课堂】:点击在线观看

【腾讯课堂】:点击在线观看

【微信公众号】:跟着阿笨一起玩NET