首先右键 引用==》管理NuGet程序包==》在预览输入Nlog==》安装
写了3个测试代码如下:
//设置日志名称
var log = LogManager.GetLogger("NlogTest");
//测试3种日志的输出
log.Info("info test");
log.Error("error test");
log.Warn("warning test");
日志的输出,是靠一个叫NLog.config的配置文件完成的,下面简单的说明下配置文件:
1、设置控制台输出:
全部日志都输出到控制台:
显示如下:
只输出error,需要增加级别过滤 level ="Error"
输出如下:
把日志写入文件:
增加规则配置如下:
<logger name="*" writeTo="IVS_CMS_file" />
还需要再前面先定义一下文件,这里定义了一个叫IVS_CMS_file的文件
<target name="IVS_CMS_file" xsi:type="File"
fileName="${basedir}/Logs/IVS_CMS/${shortdate}/IVS_CMS.txt" maxArchiveFiles="30"
layout="${longdate} | ${level:uppercase=false} ${newline} ${message} ${newline}" />
这时候,会在程序当前路径生成一个logs文件,
显示如下:
*******************---以上可以加解决基的日志需求----*************************************
但是当我们的程序一年360天一直运行下去,日志越来越多,就需要对日志文件进行一些处理,主要由两个需求:
第一个:日志文件不能太大,最好20M左右一个文件,便于排查故障
第二个:日志文件不能太多,最好1个G之后,会自动删除,循环覆盖
基于以上两点需求,还需要再继续研究一下nlog的配置文件的使用:
设置日志文件大小:
在前面的文件设置里面,设置文件大小属性
archiveAboveSize="1024"
单位是字节
修改测试程序之后,会生产大小为1024的
设置文件个数:
增加配置属性:maxArchiveFiles="30"
含义为:在当前文件夹下面最多生成30个文件,
增加archiveNumbering="Rolling" 字段,可以滚动写入,不会新建文件,直接覆盖前面的文件
为了方便大家学习,把完成的日志使用工程上传上去,供大家参考,开发环境VS2017
----------------------------------------------------参考-----------------------------------