NLog配置路由规则和上下文信息spa
rules: 规则节点debug
logger:一个路由规则调试
<rules>
<!--<logger name="*" writeTo="console" />-->
<logger name="*" minlevel="Debug" writeTo="debugger" />
<logger name="*" minlevel="Error" writeTo="error_file" />
</rules>
具体参数说明:日志
路由规则主要用于将日志和输出目标匹配起来,它通常有以下几个属性code
- name - 日志源/记录者的名字 (容许使用通配符*)
- minlevel - 匹配日志范围的最低级别
- maxlevel - 匹配日志范围的最高级别
- level - 匹配的单一日志级别
- levels - 匹配的一系列日志级别,由逗号分隔。
- writeTo - 规则匹配时日志应该被写入的一系列目标<target>节点的name属性,由逗号分隔。
- final - 标记当前规则为最后一个规则。其后的规则即时匹配也不会被运行。
如:blog
- <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支持以下几种记录等级:路由
- Trace- 最多见的记录信息,通常用于普通输出
- Debug- 一样是记录信息,不过出现的频率要比Trace少一些,通常用来调试程序
- Info- 信息类型的消息
- Warn- 警告信息,通常用于比较重要的场合
- Error- 错误信息
- Fatal- 致命异常信息。通常来说,发生致命异常以后程序将没法继续执行。
优先级:Trace>Debug>Info>Warn>Error>Fatalget
Layout上下文信息 表达式it
${date} 日期2016/08/11 09:34:33.793console
${time} 24小时HH:mm:ss.mmm.
${longdate} 长时间 2016-08-05 14:06:18.9293
${shortdate} 日期2016-08-05
${basedir} 根目录
${message} 信息
${level} 级别
${stacktrace} 堆栈信息
${callsite} 日志来源