日志是程序的重要组成部分,是排查故障,解决问题的利器。这篇文章从一个菜鸟的角度,讲述了Nlog日志库的使用。

首先右键 引用==》管理NuGet程序包==》在预览输入Nlog==》安装

Nlog使用_工具使用

写了3个测试代码如下:

            //设置日志名称
            var log = LogManager.GetLogger("NlogTest");

            //测试3种日志的输出
            log.Info("info test");
            log.Error("error test");
            log.Warn("warning test");

日志的输出,是靠一个叫NLog.config的配置文件完成的,下面简单的说明下配置文件:

1、设置控制台输出:

全部日志都输出到控制台:

Nlog使用_工具使用_02

显示如下:

Nlog使用_工具使用_03

只输出error,需要增加级别过滤 level ="Error"

Nlog使用_工具使用_04

输出如下:

Nlog使用_工具使用_05

 

把日志写入文件:

增加规则配置如下:

<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文件,

显示如下:

Nlog使用_工具使用_06

*******************---以上可以加解决基的日志需求----*************************************

但是当我们的程序一年360天一直运行下去,日志越来越多,就需要对日志文件进行一些处理,主要由两个需求:

第一个:日志文件不能太大,最好20M左右一个文件,便于排查故障

第二个:日志文件不能太多,最好1个G之后,会自动删除,循环覆盖

基于以上两点需求,还需要再继续研究一下nlog的配置文件的使用:

设置日志文件大小:

在前面的文件设置里面,设置文件大小属性

archiveAboveSize="1024"

单位是字节

修改测试程序之后,会生产大小为1024的

Nlog使用_工具使用_07

设置文件个数:

增加配置属性:maxArchiveFiles="30"

含义为:在当前文件夹下面最多生成30个文件,

增加archiveNumbering="Rolling" 字段,可以滚动写入,不会新建文件,直接覆盖前面的文件

为了方便大家学习,把完成的日志使用工程上传上去,供大家参考,开发环境VS2017

nlogdemo

 

 

 

 

 

----------------------------------------------------参考-----------------------------------