在asp.net core中使用NLog,親測原創 放心使用
阿新 • • 發佈:2018-11-12
第一步: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