日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
一篇關(guān)于NLog-ASP.NET Core 5入門

本文轉(zhuǎn)載自微信公眾號(hào)「后端Q」,作者conan。轉(zhuǎn)載本文請(qǐng)聯(lián)系后端Q公眾號(hào)。

為沙坡頭等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及沙坡頭網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、沙坡頭網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

1、創(chuàng)建一個(gè)新的ASP.NET Core項(xiàng)目

在Visual Studio 2019中。需要版本16.8+

2、手動(dòng)或使用NuGet在csproj中添加依賴項(xiàng)

安裝最新版本:

  • NLog.Web.AspNetCore 4.9+
  • 如有可能,更新NLog軟件包

在csproj中:

 
 
 
  1.  
  2.    
  3.    
  4.  

3、創(chuàng)建一個(gè)nlog.config文件。

在項(xiàng)目的根目錄中創(chuàng)建nlog.config(全部小寫)文件。

我們使用以下示例:

 
 
 
  1.  
  2.       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  3.       autoReload="true" 
  4.       internalLogLevel="Info" 
  5.       internalLogFile="c:\temp\internal-nlog.txt"> 
  6.  
  7.    
  8.    
  9.      
  10.    
  11.  
  12.    
  13.    
  14.      
  15.     
  16.             layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}" /> 
  17.  
  18.      
  19.     
  20.             layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action}" /> 
  21.    
  22.  
  23.    
  24.    
  25.      
  26.      
  27.  
  28.      
  29.       
  30.       
  31.  
  32.      
  33.    
  34.  

請(qǐng)注意,如果刪除所有其他LoggingProviders(如控制臺(tái))并且僅使用NLog,則可能必須特別注意Hosting Lifetime Startup Messages。因?yàn)檫@可能導(dǎo)致托管環(huán)境(Visual Studio / Docker / Azure容器)看不到已啟動(dòng)的應(yīng)用程序。

4、更新program.cs

更新program.cs

 
 
 
  1. using Microsoft.AspNetCore.Hosting; 
  2. using Microsoft.Extensions.Hosting; 
  3. using Microsoft.Extensions.Logging; 
  4. using System; 
  5. using NLog.Web; 
  6.  
  7. namespace ASP.NET_Core_5_NLog_Example 
  8.     public class Program 
  9.     { 
  10.         public static void Main(string[] args) 
  11.         { 
  12.             var logger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger(); 
  13.             try 
  14.             { 
  15.                 logger.Debug("init main"); 
  16.                 CreateHostBuilder(args).Build().Run(); 
  17.             } 
  18.             catch (Exception exception) 
  19.             { 
  20.                 //NLog: catch setup errors 
  21.                 logger.Error(exception, "Stopped program because of exception"); 
  22.                 throw; 
  23.             } 
  24.             finally 
  25.             { 
  26.                 // Ensure to flush and stop internal timers/threads before application-exit (Avoid segmentation fault on Linux) 
  27.                 NLog.LogManager.Shutdown(); 
  28.             } 
  29.         } 
  30.  
  31.         public static IHostBuilder CreateHostBuilder(string[] args) => 
  32.             Host.CreateDefaultBuilder(args) 
  33.                 .ConfigureWebHostDefaults(webBuilder => 
  34.                 { 
  35.                     webBuilder.UseStartup(); 
  36.                 }) 
  37.                 .ConfigureLogging(logging => 
  38.                 { 
  39.                     logging.ClearProviders(); 
  40.                     logging.SetMinimumLevel(LogLevel.Trace); 
  41.                 }) 
  42.                 .UseNLog();  // NLog: Setup NLog for Dependency injection 
  43.     } 

5、配置appsettings.json / appsettings.Development.json

中指定的日志記錄配置appsettings.json會(huì)覆蓋對(duì)的任何調(diào)用SetMinimumLevel。因此"Default":,請(qǐng)根據(jù)您的需要?jiǎng)h除或正確調(diào)整它。

 
 
 
  1.   "Logging": { 
  2.     "IncludeScopes": false, 
  3.     "LogLevel": { 
  4.       "Default": "Trace", 
  5.       "Microsoft": "Warning", 
  6.       "Microsoft.Hosting.Lifetime": "Information" 
  7.     } 
  8.   }, 
  9.   "AllowedHosts": "*" 

切記還要更新任何特定于環(huán)境的配置,以免引起任何意外。前任appsettings.Development.json

6、寫日志

將ILogger注入您的控制器中:

 
 
 
  1. using Microsoft.Extensions.Logging; 
  2.  
  3. public class HomeController : Controller 
  4.     private readonly ILogger _logger; 
  5.  
  6.     public HomeController(ILogger logger) 
  7.     { 
  8.         _logger = logger; 
  9.         _logger.LogDebug(1, "NLog injected into HomeController"); 
  10.     } 
  11.  
  12.     public IActionResult Index() 
  13.     { 
  14.         _logger.LogInformation("Hello, this is the index!"); 
  15.         return View(); 
  16.     } 

7、示例輸出

啟動(dòng)ASP.NET Core網(wǎng)站時(shí),我們得到兩個(gè)文件:

 
 
 
  1. 2020-12-29 16:47:02.5291||DEBUG|ASP.NET_Core_5_NLog_Example.Program|init main |url: |action:  
  2. 2020-12-29 16:47:03.5943|1|DEBUG|ASP.NET_Core_5_NLog_Example.Controllers.HomeController|NLog injected into HomeController |url: https://localhost/|action: Index 
  3. 2020-12-29 16:47:03.5943||INFO|ASP.NET_Core_5_NLog_Example.Controllers.HomeController|Hello, this is the index! |url: https://localhost/|action: Index 
 
 
 
  1. 2020-12-29 16:47:02.5291||DEBUG|ASP.NET_Core_5_NLog_Example.Program|init main  
  2. 2020-12-29 16:47:03.5260||INFO|Microsoft.Hosting.Lifetime|Application started. Press Ctrl+C to shut down.  
  3. 2020-12-29 16:47:03.5260||INFO|Microsoft.Hosting.Lifetime|Hosting environment: Development  
  4. 2020-12-29 16:47:03.5260||INFO|Microsoft.Hosting.Lifetime|Content root path: D:\nlog\NLog.Web\examples\ASP.NET Core 5\ASP.NET Core 5 NLog Example  
  5. 2020-12-29 16:47:03.5943|1|DEBUG|ASP.NET_Core_5_NLog_Example.Controllers.HomeController|NLog injected into HomeController  
  6. 2020-12-29 16:47:03.5943||INFO|ASP.NET_Core_5_NLog_Example.Controllers.HomeController|Hello, this is the index! 

當(dāng)前題目:一篇關(guān)于NLog-ASP.NET Core 5入門
文章地址:http://m.5511xx.com/article/cdooocs.html