.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的日志模塊,包括使用原生和第三方的組件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM