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>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路由規則和上下文信息的知識點內容,感謝大家的支持。
新聞熱點
疑難解答