1. 程式人生 > >在asp.net core中使用NLog,親測原創 放心使用

在asp.net core中使用NLog,親測原創 放心使用

第一步:nuget  引入  NLog.Web.AspNetCore 4.5+

 

第二步:放入nlog.config

<?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="c:\temp\internal-nlog.txt">

  <!-- 載入ASP.NET Core外掛 -->
  <extensions>
    <add assembly="NLog.Web.AspNetCore"/>
  </extensions>

  <!-- 輸出目的地 -->
  <targets>
    <!-- 輸出到檔案,這個檔案記錄所有日誌 -->
    <target xsi:type="File" name="allfile" fileName="c:\temp\nlog-all-${shortdate}.log"
                layout="${longdate}|${event-properties:item=EventId.Id}|${logger}|${uppercase:${level}}|${message} ${exception}" />

    <!-- 另外一個日誌記錄檔案,戶口也跳過Microsoft開頭相關日誌資訊 -->
    <target xsi:type="File" name="ownFile-web" fileName="c:\temp\nlog-own-${shortdate}.log"
            layout="${longdate}|${event-properties:item=EventId.Id}|${logger}|${uppercase:${level}}|  ${message} ${exception}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action}" />

    <!-- write to the void aka just remove -->
    <target xsi:type="Null" name="blackhole" />
  </targets>

  <!-- 寫入目的地的規則 -->
  <rules>
    <!--全部記錄,包括Microsoft開頭的相關日誌資訊-->
    <logger name="*" minlevel="Trace" writeTo="allfile" />

    <!--跳過Microsoft開頭的相關日誌資訊-->
    <logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />
    <logger name="*" minlevel="Trace" writeTo="ownFile-web" />
  </rules>
</nlog>

第三步:寫程式碼

 NLog.Logger logger = NLog.Web.NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
        public IActionResult Index()
        {            
            logger.Info("普通訊息日誌-----------");
            logger.Debug("除錯日誌-----------");
            //Logger.Error("錯誤日誌-----------");
            //Logger.Fatal("異常日誌-----------");
            //Logger.Warn("警告日誌-----------");
            //Logger.Trace("跟蹤日誌-----------");
            //Logger.Log(NLog.LogLevel.Warn, "Log日誌------------------");
            return View();
        }

第四步:檢視日誌

根據nlog配置的地址檢視,很重要,我放在c盤了

總結:就是這麼簡單,輕鬆愉快的搞定,祝家族的程式猿(程式媛)們開心快樂!!!

附件:百度網盤-連結:https://pan.baidu.com/s/18ijC21h8vwRDpslsXx3hrg 密碼:73jo