.net core使用ocelot---第三篇 日志记录
简介
.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的日志模块,包括使用原生和第三方的组件。
最新文章
- 修改Sqlserver实例默认排序规则
- ajax交互方法实现
- 图片的DataURL技术
- [转]Maven 划分模块
- Binary String Matching
- Java_Eclipse_Maven环境搭建
- C#特性学习笔记一
- mysql 更改自动增长字段值的重新设定
- Cocos2dx 3.x包含ext库报错解决
- IOS仿Android九宫格解锁效果[转]
- Servlet实现数据库查询(MyEclipse10,Tomcat7.0,JDK1.7,)——Java Web练习(三)
- Linux企业级开发技术(1)——epoll企业级开发之简介
- SQLSERVER读懂语句运行的统计信息
- asp.net关于Repeater控件中的全选,批量操作
- WmS详解(一)之token到底是什么?基于Android7.0源码
- Spark之UDAF
- 周刷题第二期总结(Longest Substring Without Repeating Characters and Median of Two Sorted Arrays)
- accept系统调用
- zentaoPHP框架是做什么的(整理)
- 【ZZ】Web开发的入门指导 | 菜鸟教程
热门文章
- 前端如何搭建vue UI组件库/封装插件(从零到有)
- ICEM-双管
- edusoho上传视频弹出abort之解决方案
- C# System.Web.Mail.MailMessage 发邮件
- curl保留cookie
- VBA 如何检测一个中文字符串是否包含在另一个字符串中
- (2)PyCharm开发Flash项目之蓝图构建
- Laya的对象唯一标识
- VS Code中配置python版本以及Python多版本
- [LeetCode] 136. Single Number 单独数