NLog快速入门教程【.Net Framework版】

介绍

  NLog是一款用于.Net开源免费的日志记录平台,功能强大。本教程旨在让萌新能够快速入门,具体信息请查看https://github.com/NLog/NLog

安装

  1. 方式一:使用NuGet搜索并安装NLog.Config
  2. 方式二:使用程序包管理器控制台:Install-Package NLog.Config
    安装完成后,可以发现NLogNLog.Schema两个包也被安装好了。

配置

  1. 方式一:使用XML配置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"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
      autoReload="true"
      throwExceptions="false"
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
   <!--这里对生成的模版中的样例进行了修改-->
   <targets>  
       <target name="file" xsi:type="AsyncWrapper">
	   <target xsi:type="File" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate} ${level:uppercase=true} ${event-properties:item=Action} ${message} ${exception:stacktrace}" />         
       </target>
   </targets>
   <rules>
       <logger name="*" minlevel="Debug" writeTo="file" />
   </rules>
</nlog>

确保该文件的属性为如果较新则复制始终复制。以下为部分参数介绍

  • targets
    • name:名字,唯一性标识,如果多个target有相同的名字,那么只有最后一个生效。
    • xsi:type:类型,“xsi”对应于该文件开头定义的xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance",表示XML命名空间
      • AsyncWrapper:以异步缓冲的方式写入
    • fileName:日志文件的全路径
      • basedir:主程序所在根目录
      • shortdate:“yyyy-MM-dd”格式的字符串
    • layout:日志内容排版,可以理解为模版。
      • longdate:“yyyy-MM-dd HH:mm:ss.ffff”格式的字符串
      • level:日志等级,包括Trace、Debug、Info、Warn、Error、Fatal等
        • uppercase:设置Level的大小写
      • event-properties:日志事件属性
        • item:属性名
      • message:自定义的信息
      • exception:要记录的异常
        • stacktrace:记录异常中的StackTrace信息
  • rules
    • name:记录器名字,这里使用了通配符“*”,下面会用到
    • minlevel:日志记录的最小等级(Trace<Debug<Info<Warn<Error<Fatal)
    • writeTo :要使用的Targets名称,多个名称之间用“,”分隔
  1. 方式二:使用代码进行配置(暂未发现明显优势,不在此进行赘述)

使用

运行下方程序后就可以查看日志了。

using NLog;
class Program
{
    //该处创建了一个名为 {你的命名空间}.Program 的 Logger,
    //如果 NLog.config 中有同名的 Logger,则使用其配置,
    //否则使用 Name 为“*”的 Logger 配置
    //如果没有 Name 为“*”的 Logger,则使用记录可用性全为 False 的默认记录器
    private static readonly Logger _logger = NLog.LogManager.GetCurrentClassLogger();
    static void Main(string[] args)
    {     
        //请注意查看以下方法的重载

        //由于配置了最小记录等级为Debug,所以Trace不被记录
        _logger.Trace("Trace test");
        _logger.Debug("Debug test");
        _logger.Info("Info test");
        _logger.Warn("Warn test");
        _logger.Error("Error test");
        _logger.Fatal("Fatal test");
    }
}

总结

  未来有时间会将日志的数据库写入等方式进行补充。
  NLog的基本用法差不多就是这些了,不过想要达到应用级别,还需要自己去深入学习下去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值