Nlog使用layout參數配置以及NLog.Web.AspNetCore擴展
常用的layout參數:
$ {cached} - 將緩存應用于另一個布局輸出。
$ {db-null} - 為數據庫渲染DbNull
$ {exception} - 通過調用Logger方法之一提供的異常信息
$ {level} - 日志級別(例如ERROR,DEBUG)或級別序數(數字)
$ {literal} - 字符串文字。(文本)-有用,以逃避括號
$ {logger} - 記錄器名稱。GetLogger,GetCurrentClassLogger等
$ {message} - (格式化的)日志消息。
$ {newline} - 換行文字。
$ {object-path} - 渲染對象的(嵌套)屬性
$ {onexception} - 僅在為日志消息定義了異常時才輸出內部布局。
$ {var} - 渲染變量
呼叫站點和堆棧跟蹤-------------------------------------------------------------
$ {callsite} - 調用站點(類名,方法名和源信息)
$ {callsite-linenumber} - 呼叫站點源行號。
$ {stacktrace} - 渲染堆棧跟蹤
條件------------------------------------------------------------------------
$ {when} - 僅在滿足指定條件時輸出內部布局。
$ {whenempty} - 當內部布局產生空結果時,輸出替代布局。
上下文信息-------------------------------------------------------------------
$ {activityid} - 將System.Diagnostics跟蹤關聯ID記錄到日志中。
$ {all-event-properties} - 記錄所有事件上下文數據。
$ {event-context} - 記錄事件屬性數據-替換為$ {event-properties}
$ {event-properties} - 記錄事件屬性數據-重命名$ {event-context}
$ {gdc} - 全局診斷上下文項。包含每個應用程序實例值的字典結構。
$ {install-context} - 安裝參數(傳遞給InstallNLogConfig)。
$ {mdc} - 映射診斷上下文-線程局部結構。
$ {mdlc} - 異步映射診斷上下文-線程局部結構。MDC的異步版本
$ {ndc} - 嵌套診斷上下文-線程局部結構。
$ {ndlc} - 異步嵌套診斷上下文-線程本地結構。
專柜-----------------------------------------------------------------------
$ {counter} - 一個計數器值(在每個布局渲染中增加)
$ {guid} - 全局唯一標識符(GUID)。
$ {sequenceid} - 日志序列號
日期和時間------------------------------------------------------------------
$ {date} - 當前日期和時間。
$ {longdate} - 日期和時間,采用可排序的長格式`yyyy-MM-dd HH:mm:ss.ffff`。
$ {qpc} - 高精度計時器,基于QueryPerformanceCounter返回的值。
$ {shortdate} - 短日期,格式為yyyy-MM-dd。
$ {ticks} - 當前日期和時間的“ Ticks”值。
$ {時間} - 在24小時,可排序的格式HH的時間:MM:ss.mmm。
編碼和字符串轉換--------------------------------------------------------------
$ {json-encode} - 使用JSON規則轉義另一個布局的輸出。
$ {left} - 文字的左半部分
$ {小寫} - 將另一個布局輸出的結果轉換為小寫。
$ {norawvalue} - 防止將另一個布局渲染器的輸出視為原始值
$ {pad} - 將填充應用于另一個布局輸出。
$ {replace} - 將另一個布局的輸出中的字符串替換為另一個字符串。正則表達式可選
$ {replace-newlines} - 用另一個字符串替換換行符。
$ {right} - 文字的右側
$ {rot13} - 使用ROT-13解碼“加密”的文本。
$ {substring} - 文本的子字符串
$ {trim-whitespace} - 從另一個布局渲染器的結果修剪空白。
$ {uppercase} - 將另一個布局輸出的結果轉換為大寫。
$ {url-encode} - 編碼另一個布局輸出的結果,以供URL使用。
$ {wrapline} - 以指定的行長包裝另一個布局輸出的結果。
$ {xml-encode} - 將另一個布局輸出的結果轉換為XML兼容的。
環境和配置文件----------------------------------------------------------------
$ {appsetting} -. config文件 NLog.Extended中的應用程序配置設置
$ {configsetting} - 來自appsettings.json或ASP.NET Core和.NET Core中其他配置的值 NLog.Extensions.Logging NLog.Extensions.Hosting NLog.Web.AspNetCore
$ {environment} - 環境變量。(例如PATH,OSVersion)
$ {environment-user} - 用戶身份信息(用戶名)。
$ {}注冊表 - 從Windows注冊表中的值。
文件和目錄--------------------------------------------------------------------
$ {basedir} - 當前應用程序域的基本目錄。
$ {currentdir} - 應用程序的當前工作目錄。
$ {file-contents} - 呈現指定文件的內容。
$ {filesystem-normalize} - 通過將文件名替換為安全字符來過濾文件名中不允許的字符。
$ {} nlogdir - 其中NLog.dll所在的目錄。
$ {specialfolder} - 系統專用文件夾路徑(包括“我的文檔”,“我的音樂”,“程序文件”,“桌面”等)。
$ {tempdir} - 臨時目錄。
身分識別----------------------------------------------------------------------
$ {identity} - 線程身份信息(名稱和身份驗證信息)。
$ {windows-identity} - 線程Windows身份信息(用戶名)
$ {windows-identity} - 線程Windows身份信息(用戶名) Nlog.WindowsIdentity
整合方式----------------------------------------------------------------------
$ {gelf} - 將日志轉換為GELF格式 NLog.GelfLayout 外部
$ {log4jxmlevent} - 與log4j,Chainsaw和NLogViewer兼容的XML事件描述。
進程,線程和程序集--------------------------------------------------------------
$ {appdomain} - 當前的應用程序域。
$ {assembly-version} - 默認應用程序域中可執行文件的版本。
$ {gc} - 有關垃圾收集器的信息。
$ {hostname} - 運行該進程的計算機的主機名。
$ {local-ip} - 來自網絡接口的本地IP地址。
$ {machinename} - 運行進程的計算機名。
$ {performancecounter} - 性能計數器。
$ {processid} - 當前進程的標識符。
$ {processinfo} - 有關正在運行的進程的信息。例如StartTime,PagedMemorySize
$ {processname} - 當前進程的名稱。
$ {processtime} - 格式為HH:mm:ss.mmm的處理時間。
$ {threadid} - 當前線程的標識符。
$ {threadname} - 當前線程的名稱。
Silverlight------------------------------------------------------------------------
$ {document-uri} - 承載當前Silverlight應用程序的HTML頁面的URI。
$ {sl-appinfo} - 有關Silverlight應用程序的信息。
NLog.Web.AspNetCore擴展使用
配置文件添加: <extensions><add assembly="NLog.Web.AspNetCore"/></extensions>
常用屬性如下圖:

(網上很多屬性有中文,是錯誤的,本人全網搜索半天才整理出來的)

浙公網安備 33010602011771號