添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
日志是程序的重要组成部分,是排查故障,解决问题的利器。这篇文章从一个菜鸟的角度,讲述了Nlog日志库的使用。

首先右键 引用==》管理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

nlogdemo

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

https://www.cnblogs.com/Cwj-XFH/p/5822837.html

我们将版本向前切换到20051025,这期的关注点是filter。我们在 使用 日志的时候可能希望加上一些过滤器,在满足某些特定条件的时候才输出。举个简单的 使用 方式如下: <targets><target name='debug' type='Debug' layout='${basedir} ${message}' /></target...
<?xml version="1.0" encoding="UTF-8"?> <!-- 从高到地低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL -->
原文地址:https://www.cnblogs.com/zh7791/p/12620439.html NLog 是一个基于.NET平台编写的类库,我们可以 使用 NLog 在应用程序中添加极为完善的跟踪调试代码。 NLog 是一个简单灵活的.NET日志记录类库。通过 使用 NLog ,我们可以在任何一种.NET语言中输出带有上下文的(contextual information)调试诊断信息,根据喜好配置其表...
通过Nuget安装,搜索 Nlog , 然后安装 NLog NLog .Config(相当于一个配置模板)。 当然也可以自己在项目根目录下创建一个配置文件 NLog .config,注意在 NLog .config的属性中设置 Copy to Output Directory: Copy always 基本目录结构 <?xml version="1.0" ?> &lt... export const request =(parmas)=> { let contentType='application/json'; // 正确地检查 contentType 是否被定义且不是 null if(parmas.contentType!==undefined && parmas.contentType!==null){ contentType=parmas.contentType; return new Promise((resolve, reject) => { wx.request({ url: BASE_URL + parmas.url, method: parmas.method, data: parmas.data, timeout: TIMEOUT, header: { 'content-type': contentType // 默认值 success: ( result => { if (result.statusCode !== 200) { reject(new Error(`请求失败,状态码: ${result.statusCode}`)); } else { resolve(result.data); fail: (err) => { reject(err) Vue之Promise 梅有卷呀: 大佬,如果resolve(result.data)返回的是一个undefined,但是后端请求已经发送成功了,请问大佬有遇到过这个问题嘛 windows之2012安装vs2017编译环境失败 补丁包哪里获取