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支持如下几种记录等级:
- trace- 最常见的记录信息,一般用于普通输出
- debug- 同样是记录信息,不过出现的频率要比trace少一些,一般用来调试程序
- info- 信息类型的消息
- warn- 警告信息,一般用于比较重要的场合
- error- 错误信息
- 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路由规则和上下文信息的知识点内容,感谢大家的支持。