当前位置首页 > 百科> 正文

NLog

2019-12-11 20:09:40 百科
NLog

NLog

NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程式中添加极为完善的跟蹤调试代码。

NLog是一个简单灵活的.NET日誌记录类库。通过使用NLog,我们可以在任何一种.NET语言中输出带有上下文的(contextual information)调试诊断信息,根据喜好配置其表现样式之后传送到一个或多个输出目标(target)中。

NLog的API非常类似于log4net,且配置方式非常简单。NLog使用路由表(routing table)进行配置,但log4net却使用层次性的appender配置,这样就让NLog的配置档案非常容易阅读,并便于今后维护。

NLog遵从BSD license,即允许商业套用且完全开放原始码。任何人都可以免费使用并对其进行测试,然后通过邮件列表反馈问题以及建议。

NLog支持.NETC/C++以及COM interop API,因此我们的程式、组件、包括用C++/COM 编写的遗留模组都可以通过同一个路由引擎将信息传送至NLog中。

基本介绍

  • 中文名:.NET日誌记录类库
  • 外文名:NLog
NLog允许我们自定义从跟蹤讯息的来源(source)到记录跟蹤信息的目标(target)规则(rules)。记录跟蹤信息的目标(target)可以为如下几种形式:
  1. 档案
  2. 文本控制台
  3. Email
  4. 资料库
  5. 网路中的其它计算机(通过TCP或UDP)
  6. 基于MSMQ的讯息伫列
  7. Windows系统日誌
除此之外,每一条跟蹤讯息都可以自动带有上下文信息(contextual information),并将其传送给记录跟蹤信息的目标。这些上下文信息可以包含如下内容:
  1. 当前的日期和时间(多种格式)
  2. 记录等级
  3. 来源名称
  4. 输出跟蹤讯息的方法的堆叠信息
  5. 环境变数的值
  6. 异常的详细信息
  7. 计算机、进程和执行绪名称
每条跟蹤信息都包含一个记录等级(log level)信息,用来描述该条信息的重要性。NLog支持如下几种记录等级:
  1. Trace- 最常见的记录信息,一般用于普通输出
  2. Debug- 同样是记录信息,不过出现的频率要比Trace少一些,一般用来调试程式
  3. Info- 信息类型的讯息
  4. Warn- 警告信息,一般用于比较重要的场合
  5. Error- 错误信息
  6. Fatal- 致命异常信息。一般来讲,发生致命异常之后程式将无法继续执行。
NLog的.NET API的过滤信息功能执行效率很高,这样我们就可以一直保留程式中的日誌写入代码,然后由NLog在运行时将其根据需要过滤掉。在一个1.6G单CPU笔记本电脑上,NLog每秒钟可以过滤掉1.5亿条日誌写入语句!加上异步处理(asynchronous processing)以及其他包装程式(wrappers)的支持,NLog将成为一个极为强大的、且极具伸缩性的日誌记录工具,
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net