Files
2025-11-21 10:50:27 +08:00

60 lines
2.5 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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} 日志来源