2012年12月30日 星期日

NLog Layouts

NLog Layouts

Layout是用來決定記錄的訊息輸出的格式,通常設定在target的屬性中
這個功能可以讓我們動態增減日誌的內容,而不用回頭修改程式碼和重新編譯
使用方法是$字號和左右大括號,包住Layout Renderers
參數的使用方法則是冒號分隔,屬性=值的方式
預設的輸出格式如下

${longdate}|${level:uppercase=true}|${logger}|${message}


Layout Renderers


  • ${basedir} - 應用程式所在的資料庫
  • ${callsite} - 日誌來源的類別名稱、方法名稱和來源資訊
  • ${data} - 目前日期和時間
  • ${exception} - 例外的訊息
  • ${level} - 日誌的級別
  • ${logger} - 日誌的來源
  • ${logdate} - 長日期格式,yyyy-MM-dd HH:mm:ss.mmm
  • ${machinename} - 電腦名稱
  • ${message} - 日誌的內容
  • ${newline} - 換行符號
  • ${shortdate} - 短日期格式  yyyy-MM-dd
  • ${stacktrace} - 呼叫堆疊資訊
  • ${time} - 時間格式,HH:mm:ss.mmm.
  • ${windows-identity} - 登入帳號
每一個Layout Renderers還包含各自的屬性,詳細的內容可以參考官網Layout Renderers文件


Pre-Defined Layouts

NLog還包含了幾個預設定義好的格式,詳細的文件請參考官網的Layout文件
  • CsvLayout - CSV格式
  • LayoutWithHeaderAndFooter - 加上Header和Footer的格式
  • Log4JXmlEventLayout - Log4j相容的格式
  • SimpleLayout - 簡單的文字內容格式


上一篇 : NLog Rules