NLog日志系统入门学习

1.相关概念

2.入门示例

(1)新建一个控制台项目,添加NLog到项目中

说明:示例用的是vs2015,添加上图NLog和NLog.Config。我这面先添加NLog再添加NLog.Config文件时会报错,而直接添加NLog.Config时会自动把NLog也添加。

(2)修改NLog.Config的属性如下

(3)修改NLog.Config配置文件如下

    <target name="console" xsi:type="ColoredConsole"
      layout="${date:format=HH\:mm\:ss}|${level}|${stacktrace}|${message}" />
    <target name="file" xsi:type="File" fileName="${basedir}/logs/file.txt"
      layout="${stacktrace} ${message}" />
  <rules>
    <!-- add your logging rules here -->
    
      <logger name="*" minlevel="Info" writeTo="console" />
      <logger name="*" minlevel="Trace" writeTo="file" />
    
    <!--
    Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace)  to "f"
    <logger name="*" minlevel="Debug" writeTo="f" />
    -->
  </rules>

说明:配置了两条路由规则,使消息分别记录到根目录下的file文件中,和输出到控制台

(4)program类代码如下

namespace NLogTest
{
    class Program
    {
        public static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();  //创建一个Logger类的实例,它表示与当前类关联的日志消息的来源static void C()
        {
            logger.Info("Info CCC");
        }
        static void B()
        {
            logger.Trace("Trace BBB");
            logger.Debug("Debug BBB");
            logger.Info("Info BBB");
            C();
            logger.Warn("Warn BBB");
            logger.Error("Error BBB");
            logger.Fatal("Fatal BBB");
        }
        static void A()
        {
            logger.Trace("Trace AAA");
            logger.Debug("Debug AAA");
            logger.Info("Info AAA");
            B();
            logger.Warn("Warn AAA");
            logger.Error("Error AAA");
            logger.Fatal("Fatal AAA");
        }
        static void Main(string[] args)
        {
            logger.Trace("This is a Trace message");
            logger.Debug("This is a Debug message");
            logger.Info("This is an Info message");
            A();
            logger.Warn("This is a Warn message");
            logger.Error("This is an Error message");
            logger.Fatal("This is a Fatal error message");
            Console.ReadKey();
        }
    }
}

(5)运行结果如下

说明:TraceDebug消息只记录在文件中,控制台上不显示

(6)相关配置说明

  A.<targets />部分定义了日志目标/输出

    name 目标名称

    type 目标类型 - 例如“ File”,“ Database”,“ Mail

    layout 指定输出文件内容的样式(可自由定义)

    filename 指定输出文件的具体位置和名称

  B. <rules />节中定义了路由规则

    name- 源/记录器名称(可能包含通配符*

    minlevel - 此规则匹配的最小日志级别

    maxlevel - 此规则匹配的最大日志级别

    level - 此规则匹配的单个日志级别

    levels - 用于匹配此规则的逗号分隔的日志级别列表

     writeTo - 此规则匹配时应写入的逗号分隔列表

    final - 使这个规则最终。当任何最终规则匹配时,不会处理进一步的规则

(7)参考学习地址: https://www.codeproject.com/Articles/10631/Introduction-to-NLog

转载于:https://www.cnblogs.com/Zed-H/p/8682190.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值