.net core nlog使用

大部分內容來自網絡
  nlog.config文件的屬性 [始終複製]
  Program.cs 中添加代碼 (紅色部分) 
        . public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>().ConfigureLogging(logging =>
                {
                    logging.ClearProviders(); //移除已經註冊的其他日誌處理程序
                    logging.SetMinimumLevel(LogLevel.Trace); //設置最小的日誌級別
                })
                .UseNLog()
;
  使用時先初始化 
    private readonly ILogger<HomeController> _logger;
  然後方法中代碼
    _logger.LogDebug("LogDebug");
    _logger.LogInformation("LogInformation");
    _logger.LogTrace("LogTrace");//不顯示
    _logger.LogError("LogError");  

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">
  <!-- 要寫入的目標 -->
  <targets>
    <!-- 將日誌寫入文件  -->
    <target xsi:type="File" name="allfile" fileName="${basedir}/logs/all/${level}${shortdate}.log"
            layout="${longdate}|${event-properties:item=EventId_Id:whenEmpty=0}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}" />

    <!-- 另一個文件日誌,只有自己的日誌。 使用一些ASP.NET Core渲染器 -->
    <target xsi:type="File" name="ownFile-web" fileName="${basedir}/logs/my/${level}${shortdate}.log"
            layout="${longdate}
            |${level}
            |信息:${message}
            |url: ${aspnet-request-url}
            " />
  </targets>
  <!--備用配置-->
  <!--<target xsi:type="File" name="ownFile-web" fileName="${basedir}/logs/my/${level}${shortdate}.log"
            layout="${longdate}
            |${level}
            |${logger}
            |信息:${message}
            |url: ${aspnet-request-url}
            |調用函數: ${aspnet-mvc-action}
            |${callsite}
            " />
  </targets>-->

  <!--從記錄器名稱映射到目標的規則-->
  <rules>
    <!--所有日誌,包括來自Microsoft的日誌-->
    <logger name="*" minlevel="Trace" writeTo="allfile" />
    <!--跳過非關鍵的Microsoft日誌,因此僅記錄自己的日誌-->
    <logger name="Microsoft.*" maxlevel="Info" final="true" />
    <!-- BlackHole -->
    <logger name="*" minlevel="Trace" writeTo="ownFile-web" />
  </rules>
</nlog>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章