.net core配置使用Nlog日志


一、.net core配置使用Nlog日志

1. nlog介紹:NLog((http://www.nlog-project.org)是一個基於.NET平台編寫的類庫,我們可以使用NLog在應用程序中添加極為完善的跟蹤調試代碼。NLog完全實現了我們上面的期望目標,並且還遠遠不止這些……

  NLog允許我們自定義從跟蹤消息的來源(source)到記錄跟蹤信息的目標(target)規則(rules)。記錄跟蹤信息的目標(target)可以為如下幾種形式:

  1. 文件
  2. 文本控制台
  3. Email
  4. 數據庫
  5. 網絡中的其它計算機(通過TCP或UDP)
  6. 基於MSMQ的消息隊列

2. core中使用nlog日志記錄:添加引用nlog.config和Nlog.Web.AspNetCore。

  

 

 

 3. 修改配置program

  

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

4. 修改nlog.config文件中如下:

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
 3       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4       xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd">
 5   <targets>
 6     <target xsi:type="File" name="LogFile" fileName="${basedir}/logs/${shortdate}.log"
 7             layout="${longdate} ${uppercase:${level}} ${message}" />
 8   </targets>
 9 
10   <rules>
11     <logger name="*" minlevel="Debug" writeTo="LogFile" />
12   </rules>
13 </nlog>

5. 使用日志:

注入: 
private readonly ILogger<WeatherForecastController> _logger;
使用:
_logger.LogError("報錯了");

 

謝謝學習,轉發請標明出處!https://www.cnblogs.com/wangjinya/p/12935564.html


免責聲明!

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



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