自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何使用第三方日志記錄提供程序替代.NET Core中的內(nèi)置程序

開發(fā) 后端
.NET Core 支持適用于各種內(nèi)置和第三方日志記錄提供程序的日志記錄 API。 先來看下如何將日志記錄 API 與內(nèi)置提供程序一起使用。

[[409162]]

本文轉(zhuǎn)載自微信公眾號(hào)「UP技術(shù)控」,作者 conan5566。轉(zhuǎn)載本文請(qǐng)聯(lián)系UP技術(shù)控公眾號(hào)。

 .NET Core 支持適用于各種內(nèi)置和第三方日志記錄提供程序的日志記錄 API。 先來看下如何將日志記錄 API 與內(nèi)置提供程序一起使用。

調(diào)用 CreateDefaultBuilder,這將添加以下日志記錄提供程序:

控制臺(tái)

調(diào)試

EventSource

EventLog:僅限 Windows

  1. public class Program 
  2.     public static void Main(string[] args) 
  3.     { 
  4.         CreateHostBuilder(args).Build().Run(); 
  5.     } 
  6.  
  7.     public static IHostBuilder CreateHostBuilder(string[] args) => 
  8.         Host.CreateDefaultBuilder(args) 
  9.             .ConfigureWebHostDefaults(webBuilder => 
  10.             { 
  11.                 webBuilder.UseStartup<Startup>(); 
  12.             }); 

若要替代Host.CreateDefaultBuilder 添加的默認(rèn)日志記錄提供程序集,請(qǐng)調(diào)用 ClearProviders 并添加所需的日志記錄提供程序。 例如,以下代碼:

調(diào)用 ClearProviders 以從生成器中刪除所有 ILoggerProvider 實(shí)例。

添加控制臺(tái)日志記錄提供程序。

  1. public static IHostBuilder CreateHostBuilder(string[] args) => 
  2.     Host.CreateDefaultBuilder(args) 
  3.         .ConfigureLogging(logging => 
  4.         { 
  5.             logging.ClearProviders(); 
  6.             logging.AddConsole(); 
  7.         }) 
  8.         .ConfigureWebHostDefaults(webBuilder => 
  9.         { 
  10.             webBuilder.UseStartup<Startup>(); 
  11.         }); 

使用第三方替代,以Nlog為例

修改 program.cs

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

寫日志

  1. using Microsoft.Extensions.Logging; 
  2.  
  3. public class HomeController : Controller 
  4.     private readonly ILogger<HomeController> _logger; 
  5.  
  6.     public HomeController(ILogger<HomeController> 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.     } 

 

 

責(zé)任編輯:武曉燕 來源: UP技術(shù)控
相關(guān)推薦

2010-08-02 23:20:24

2025-02-28 17:03:43

2015-11-05 16:44:37

第三方登陸android源碼

2010-08-31 17:12:13

2014-07-25 09:33:22

2014-07-22 10:56:45

Android Stu第三方類庫(kù)

2010-05-25 11:09:31

SVN工具

2023-09-07 16:19:46

微軟打印機(jī)驅(qū)動(dòng)

2011-10-08 14:37:59

漏洞

2017-12-11 15:53:56

2024-06-24 21:34:34

2014-07-23 08:55:42

iOSFMDB

2019-07-30 11:35:54

AndroidRetrofit庫(kù)

2011-03-12 21:35:46

Twitter應(yīng)用程序

2010-08-20 11:44:51

2022-07-15 14:54:43

安全供應(yīng)鏈數(shù)字化

2013-12-24 16:58:28

搜狐

2013-08-14 09:50:32

iOS類庫(kù)

2014-08-13 10:27:23

CocoaPods

2022-05-21 23:56:16

Python庫(kù)搜索Python
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)