.net core winform 使用Nlog

时间:2021-07-14
本文章向大家介绍.net core winform 使用Nlog,主要包括.net core winform 使用Nlog使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

折腾了好几次,自己网上找了很多关于log4net、Nlog的,试了很久,才弄好一个Nlog的,后续看下搞定log4net,再加上

调用代码

var logger =  NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
logger.Error("报错信息");

配置文件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="info"
      internalLogFile="${basedir}\log\internal-nlog.log">

  <!-- enable asp.net core and mongodb layout renderers -->
  <extensions>
    <add assembly="NLog.Web.AspNetCore"/>
  </extensions>

  <!--internal-nlog:NLog启动及加载config信息-->
  <!--nlog-all:所有日志记录信息-->
  <!--nlog-own:自定义日志记录信息-->

  <!-- the targets to write to -->
  <targets>
    <!-- write logs to file  -->
    <target xsi:type="File" name="allfile" fileName="${basedir}\log\nlog-all-${shortdate}.log"
            layout="${longdate} >> [日志级别:${uppercase:${level}}]${newline}日志来源:${logger}${newline}日志信息:${message}${newline}错误信息:${exception:format=tostring}${newline}==============================================================${newline}" />
      
      <target xsi:type="File" name="error" fileName="${basedir}\log\nlog-err-${shortdate}.log"
              layout="${longdate} >> [日志级别:${uppercase:${level}}]${newline}日志来源:${logger}${newline}日志信息:${message}${newline}错误信息:${exception:format=tostring}${newline}==============================================================${newline}" />

      <target xsi:type="File" name="info" fileName="${basedir}\log\nlog-info-${shortdate}.log"
              layout="${longdate} >> [日志级别:${uppercase:${level}}]${newline}日志信息:${message}${newline}" />

  </targets>

  <!-- rules to map from logger name to target -->
  <rules>
    <!--<logger name="*" minlevel="Trace" writeTo="allfile" />-->
      <logger name="*" level="Error" writeTo="error" />
      <logger name="*" level="Info" writeTo="info" />

    <!--Skip non-critical Microsoft logs and so log only own logs-->
    <logger name="Microsoft.*" maxLevel="Info" final="true" />
    <!-- BlackHole without writeTo -->
      <!-- <logger name="*" minlevel="Trace" writeTo="ownFile-web" /> -->
  </rules>
</nlog>

原文地址:https://www.cnblogs.com/jia168/p/15009588.html