NLog配置路由规则和上下文信息

rules: 规则节点

logger:一个路由规则

 <rules>
    <!--<logger name="*" writeTo="console" />-->
    <logger name="*" minlevel="Debug" writeTo="debugger" />
    <logger name="*" minlevel="Error" writeTo="error_file" />
  </rules>

具体参数说明:

路由规则主要用于将日志和输出目标匹配起来,它一般有如下几个属性

  • name - 日志源/记录者的名字 (允许使用通配符*)
  • minlevel - 匹配日志范围的最低级别
  • maxlevel - 匹配日志范围的最高级别
  • level - 匹配的单一日志级别
  • levels - 匹配的一系列日志级别,由逗号分隔。
  • writeTo - 规则匹配时日志应该被写入的一系列目标<target>节点的name属性,由逗号分隔。
  • final - 标记当前规则为最后一个规则。其后的规则即时匹配也不会被运行。

如:

<logger name="Name.Space.Class1" minlevel="Debug" writeTo="f1" /> - 名字空间Name.Space下的Class1这个类的所有级别等于或者高于Debug的日志信息都写入到“f1”这个目标里。

<logger name="Name.Space.Class1" levels="Debug,Error" writeTo="f1" /> -名字空间Name.Space下的Class1这个类的所有级别等于Debug或Error的日志信息都写入到“f1”这个目标里。

<logger name="Name.Space.*" writeTo="f3,f4" /> -名字空间Name.Space下所有类的所有级别的日志信息都写入到“f3”和“f4”这两个目标里。

<logger name="Name.Space.*" minlevel="Debug" maxlevel="Error" final="true" /> - 名字空间Name.Space下所有类的、级别在Debug和Error之间的(包括Debug,Info,Warn,Error) 日志信息都不会被记录(因为这条规则没有定义writeTo),同时其它后续规则也都会被忽略(因为这里设置了final="true")。

NLog支持如下几种记录等级:

  1. Trace- 最常见的记录信息,一般用于普通输出
  2. Debug- 同样是记录信息,不过出现的频率要比Trace少一些,一般用来调试程序
  3. Info- 信息类型的消息
  4. Warn- 警告信息,一般用于比较重要的场合
  5. Error- 错误信息
  6. Fatal- 致命异常信息。一般来讲,发生致命异常之后程序将无法继续执行。

优先级:Trace>Debug>Info>Warn>Error>Fatal

Layout上下文信息 表达式

${date} 日期2016/08/11 09:34:33.793

${time} 24小时HH:mm:ss.mmm.

${longdate} 长时间 2016-08-05 14:06:18.9293

${shortdate} 日期2016-08-05

${basedir} 根目录

${message} 信息

${level} 级别

${stacktrace} 堆栈信息

${callsite} 日志来源

以上就是全部关于NLog路由规则和上下文信息的知识点内容,感谢大家的支持。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。