【Part 3】在ASP.NET Core中使用Ocelot构建API网关 - Logging
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【Part 3】在ASP.NET Core中使用Ocelot构建API网关 - Logging,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2727字,纯文字阅读大概需要4分钟。
内容图文
Introduction
在之前的系列文章中, 我们讨论了如何使用.Net Core构建API网关。
在这篇文章里,我们将讨论Ocelot的日志模块。
如果你想看前面系列的文章,请点击以下链接。
Why logging is so important
日志是软件开发的一个基本部分。它帮助开发者和团队通过特殊的视角能知道代码真正在如何执行。
开发人员还需要在开发期间和开发之后发现他们的应用程序中的问题。足够的日志消息可以帮助我们轻松地定位问题。
毫无疑问,API网关也需要日志记录。
Ocelot使用标准日志接口,并且有一些默认的实现对于.NET Core logging,它帮助我们快速地去理解日志模块。
现在,我们开始一个简单的演示。
Step 1
先创建两个项目。
Project Name | Project Type | Description |
APIGateway | ASP.NET Core Empty | This is the entry of this demo. |
CustomersAPIServices | ASP.NET Core Web API | This is an API Service that handles something about customers. |
并且,使APIGateway和CustomerAPIServices项目相同,作为一个基本的演示一开始。
Step 2
在appsettings.json中添加以下配置。
- "Logging": {
- "IncludeScopes": true,
- "LogLevel": {
- "Default": "Trace",
- "System": "Information",
- "Microsoft": "Information"
- }
- }
Step 3
修改startup类configure方法,以使用上述配置启用控制台日志记录。
- public void Configure(IApplicationBuilder app ,ILoggerFactory loggerFactory)
- {
- //console logging
- loggerFactory.AddConsole(Configuration.GetSection("Logging"));
- app.UseOcelot().Wait();
- }
完成此步骤后,当我们运行API网关并访问一些服务时,您可能会得到如下图所示的一些信息!
根据上面的屏幕截图,我们可以发现所有的请求都记录在控制台中。
我能基于这些日志信息分析程序。大多时候,我们不想日志输出在控制台,我们需要把它们储存起来,这样我们每次都能找到它们,而不是一瞬间。
下一步,我将使用NLog,一个具有丰富的日志路由和管理功能的免费日志平台,以使日志消息持久。
Step 4
按照 nuget包,NLog.Web.AspNetCore ,然后,需要一个配置文件,去配置NLog选项。
- <?xml version="1.0" encoding="utf-8" ?><nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- autoReload="true"
- internalLogLevel="Warn"
- internalLogFile="internal-nlog.txt">
- <targets>
- <target xsi:type="File"
- name="debug"
- fileName="debug-${shortdate}.log"
- layout="${longdate}|${event-properties:item=EventId.Id}|${uppercase:${level}}|${logger}|${message} ${exception}" />
- </targets>
- <rules>
- <logger name="*" minlevel="Debug" writeTo="debug" />
- </rules>
- </nlog>
Note
在配置文件中,我仅仅输出内容到文件,但是这里有很多种输出类型,可根据你的需要选择配置。比如:Elasticsearch, Seq, PostgreSQL...
然后,我们需要修改startup class configuration method 去启动NLog ,并且配置选项。
- public void Configure(IApplicationBuilder app ,ILoggerFactory loggerFactory)
- {
- //console logging
- loggerFactory.AddConsole(Configuration.GetSection("Logging"));
- //nlog logging
- loggerFactory.AddNLog();
- loggerFactory.ConfigureNLog("nlog.config");
- app.UseOcelot().Wait();
- }
在你运行API Gateway并且访问服务之后, NLog将生成日志文件,我们能在Console中看到日志文件内容。
到此为止,我们完成啦!
Summary
这篇文章介绍如何在Ocelot中使用日志模块,包括基本组件和第三方组件。
我们可以像普通ASP.NET Core 一样使用这个模块。.NET Core日志记录得益于Ocelot项目的设计和实现。希望这篇文章能对你有所帮助。
原文:https://www.cnblogs.com/jiangyihz/p/12713038.html
内容总结
以上是互联网集市为您收集整理的【Part 3】在ASP.NET Core中使用Ocelot构建API网关 - Logging全部内容,希望文章能够帮你解决【Part 3】在ASP.NET Core中使用Ocelot构建API网关 - Logging所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。