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} 日誌來源