简介

  .net core使用ocelot---第一篇 简单使用
  .net core使用ocelot---第二篇 身份验证使用

上篇介绍使用asp.net core 创建API网关。本文将介绍Ocelot的Logging(日志)模块。

为什么日志很重要

软件开发日志是必须的部分,它给开发人员或者维护人员提供代码运行的真实情况。

开发完成以后,研发人员依然需要查找项目应用运行时的错误,足够的日志记录可以让定位问题变得简单。

所以。。。

Ocelot使用标准的日志接口,也实现了一些标准的asp.net core 日志模块。这让我们很容易理解它的日志模块。

好了,说那么多,不如动起来。

Step1

新建两个项目。

项目名称

项目类型

描述

APIGateway

ASP.NET Core Empty

示例入口

CustomersAPIServices

ASP.NET Core Web API

API服务操作用户请求操作

创建API Gateway 和CustomerAPIServices和最初的示例一样。

Step2

在appsettings.json中添加如下配置

"Logging": {
"IncludeScopes": true,
"LogLevel": {
"Default": "Trace",
"System": "Information",
"Microsoft": "Information"
}
}

Step3

修改Startup的Configure方法,使控制台日志使用上面的配置

public void Configure(IApplicationBuilder app ,ILoggerFactory loggerFactory)
{
//console logging
loggerFactory.AddConsole(Configuration.GetSection("Logging")); app.UseOcelot().Wait();
}

  完成上述步骤后,我们再运行APIGateway并访问一些服务,你会得到类似下图的信息。

  可以看出,我们所有的请求都会记录在控制台上。

  通过这些信息我们可以分析我们的应用,但是绝大多数时间,我们并不需要这些信息出现在控制台。我们需要

存储这些信息,以便以后随时查看。

下一步,我们将使用NLog去持久化我们的日志。NLog是一款免费的,便于控制的,丰富日志路由的日志平台。

Step4

安装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>

注意

在配置文件中,我只是将日志信息写入文件,根据你的需求你可以有不同的写入方式,比如,Elasticsearch,PostgreSQL,等等。

接下来,我们需要修改Startup类下的Configure方法,添加配置项,使项目支持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();
}

  当你启动APIGateway并访问服务时,NLog会产生一个日志文件,我们可以用notepad等打开。

  完工。

  源码在此

  奉上网盘:https://pan.baidu.com/s/17sqfGcYx8yEHRL_LwKAUlA
  提取码:p3d0

总结

本文介绍如何使用Ocelot的日志模块,包括使用原生和第三方的组件。

最新文章

  1. 修改Sqlserver实例默认排序规则
  2. ajax交互方法实现
  3. 图片的DataURL技术
  4. [转]Maven 划分模块
  5. Binary String Matching
  6. Java_Eclipse_Maven环境搭建
  7. C#特性学习笔记一
  8. mysql 更改自动增长字段值的重新设定
  9. Cocos2dx 3.x包含ext库报错解决
  10. IOS仿Android九宫格解锁效果[转]
  11. Servlet实现数据库查询(MyEclipse10,Tomcat7.0,JDK1.7,)——Java Web练习(三)
  12. Linux企业级开发技术(1)——epoll企业级开发之简介
  13. SQLSERVER读懂语句运行的统计信息
  14. asp.net关于Repeater控件中的全选,批量操作
  15. WmS详解(一)之token到底是什么?基于Android7.0源码
  16. Spark之UDAF
  17. 周刷题第二期总结(Longest Substring Without Repeating Characters and Median of Two Sorted Arrays)
  18. accept系统调用
  19. zentaoPHP框架是做什么的(整理)
  20. 【ZZ】Web开发的入门指导 | 菜鸟教程

热门文章

  1. 前端如何搭建vue UI组件库/封装插件(从零到有)
  2. ICEM-双管
  3. edusoho上传视频弹出abort之解决方案
  4. C# System.Web.Mail.MailMessage 发邮件
  5. curl保留cookie
  6. VBA 如何检测一个中文字符串是否包含在另一个字符串中
  7. (2)PyCharm开发Flash项目之蓝图构建
  8. Laya的对象唯一标识
  9. VS Code中配置python版本以及Python多版本
  10. [LeetCode] 136. Single Number 单独数