1、所有的布局参数
变量名 | 描述 |
${cached} | 将缓存应用于另一个布局输出。 |
${db-null} | 为数据库呈现 DbNull。 |
${exception} | 通过调用记录器方法之一提供的异常信息。 |
${level} | 日志级别(例如错误、调试)或级别序号(数字)。 |
${literal} | 字符串 literal。(文本) - 用于转义括号。 |
${logger} | 记录器名称。GetLogger,GetCurrentClassLogger 等。 |
${message} | (格式化的)日志消息。 |
${newline} | 换行符文字。 |
${object-path} | 呈现对象的(嵌套)属性。 |
${onexception} | 仅在为日志消息定义了异常时才输出内部布局。 |
${onhasproperties} | 仅当事件属性包含在日志事件中时才输出内部布局。 |
${var} | 渲染变量 |
2、调用站点和堆栈跟踪
变量名 | 描述 |
${callsite} | 调用站点(类名、方法名和源信息)。 |
${callsite-filename} | 调用站点源文件名。 |
${callsite-linenumber} | 调用站点源行编号。 |
${stacktrace} | 呈现堆栈跟踪。 |
3、条件
变量名 | 描述 |
${when} | 仅在满足指定条件时输出内部布局。 |
${whenempty} | 当内部布局生成空结果时输出备用布局。 |
4、上下文信息
变量名 | 描述 |
${activity} | 从 System.Diagnostics.Activity.Current NLog.DiagnosticSource External 捕获跟踪上下文。 |
${activityid} | 将 System.Diagnostics 跟踪关联 ID 放入日志中。 |
${all-event-properties} | 记录所有事件上下文数据。 |
${event-context} | 记录事件属性数据 - 替换为 ${事件属性}。 |
${event-properties} | 记录事件属性数据 - 重命名 ${事件-上下文}。 |
${gdc} | 全局诊断上下文项。用于保存每个应用程序实例值的字典结构。 |
${install-context} | 安装参数(传递给 InstallNLogConfig)。 |
${mdc} | 映射的诊断上下文 - 线程本地结构。 |
${mdlc} | 异步映射诊断上下文 - 作用域内上下文的线程本地结构。MDC 的异步版本。 |
${ndc} | 嵌套诊断上下文 - 线程本地结构。 |
${ndlc} | 异步嵌套诊断上下文 - 线程本地结构。 |
5、计数器
变量名 | 描述 |
${counter} | 计数器值(在每次布局呈现时增加)。 |
${guid} | 全局唯一标识符(GUID)。 |
${sequenceid} | 日志序列 ID。 |
6、日期和时间
变量名 | 描述 |
${date} | 当前日期和时间。 |
${longdate} | 日期和时间采用长而可排序的格式"yyyy-MM-dd HH:mm:ss.ffff"。 |
${qpc} | 高精度计时器,基于从 QueryPerformanceCounter 返回的值。 |
${shortdate} | 可排序格式为 yyyy-MM-dd 的短日期。 |
${ticks} | 当前日期和时间的分笔报价值。 |
${time} | 24 小时可排序格式的时间 HH:mm:ss.mmm。 |
7、编码和字符串转换
变量名 | 描述 |
${json-encode} | 使用 JSON 规则转义另一个布局的输出。 |
${left} | 文本的剩余部分。 |
${lowercase} | 将另一个布局输出的结果转换为小写。 |
${norawvalue} | 防止将另一个布局呈现器的输出视为原始值。 |
${pad} | 将填充应用于另一个布局输出。 |
${replace} | 将另一个布局输出中的字符串替换为另一个字符串。使用正则表达式可选。 |
${replace-newlines} | 将换行符替换为另一个字符串。 |
${right} | 文本的右侧部分。 |
${rot13} | 使用 ROT-13 解码"加密"的文本。 |
${substring} | 文本的子字符串。 |
${trim-whitespace} | 从另一个布局呈现器的结果中修剪空格。 |
${uppercase} | 将另一个布局输出的结果转换为大写。 |
${url-encode} | 对另一个布局输出的结果进行编码,以便与 URL 一起使用。 |
${wrapline} | 以指定的行长度换行另一个布局输出的结果。 |
${xml-encode} | 将另一个布局输出的结果转换为符合 XML 标准。 |
8、环境和配置文件
变量名 | 描述 |
${appsetting} | 来自 .config 文件 NLog.Extended 的应用程序配置设置。 |
${configsetting} | 来自 appsettings.json 的值或 ASP.NET Core & .NET Core |
${environment} | 环境变量(例如 PATH、OSVersion)。 |
${environment-user} | 用户标识信息(用户名)。 |
${registry} | 来自 Windows 注册表的值。 |
9、文件和目录
变量名 | 描述 |
${basedir} | 当前应用程序域的基目录。 |
${currentdir} | 应用程序的当前工作目录。 |
${dir-separator} | 操作系统相关的目录分隔符。 |
${file-contents} | 呈现指定文件的内容。 |
${filesystem-normalize} | 通过将文件名中不允许使用的字符替换为安全字符来筛选它们。 |
${nlogdir} | NLog.dll所在的目录。 |
${processdir} | 应用程序的可执行进程目录。 |
${specialfolder} | 系统特殊文件夹路径(包括"我的文档"、"我的音乐"、"程序文件"、"桌面"等)。 |
${tempdir} | 一个临时目录。 |
10、进程、线程和程序集
变量名 | 描述 |
${appdomain} | 当前应用域。 |
${assembly-version} | 默认应用程序域中可执行文件的版本。 |
${gc} | 有关垃圾回收器的信息。 |
${hostname} | 运行进程的计算机的主机名。 |
${local-ip} | 来自网络接口的本地 IP 地址。 |
${machinename} | 运行进程的计算机名称。 |
${performancecounter} | 性能计数器。 |
${processid} | 当前进程的标识符。 |
${processinfo} | 有关正在运行的进程的信息,例如 StartTime、PagedMemorySize。 |
${processname} | 当前进程的名称。 |
${processtime} | 格式为 HH:mm:ss.mmm 的处理时间。 |
${threadid} | 当前线程的标识符。 |
${threadname} | 当前线程的名称。 |
11、ASP.NET 和 ASP.NET Core
变量名 | 描述 |
${aspnet-appbasepath} | ASP.NET应用程序基本路径(Content Root) |
${aspnet-application} | ASP.NET应用程序变量 |
${aspnet-environment} | ASP.NET环境名称 |
${aspnet-item} | ASP.NET 'HttpContext' 项变量 |
${aspnet-mvc-action} | 从路由参数获取的ASP.NET MVC动作名称 |
${aspnet-mvc-controller} | 从路由参数获取的ASP.NET MVC控制器名称 |
${aspnet-request} | ASP.NET请求变量 |
${aspnet-request-contenttype} | ASP.NET Content-Type头部(例如:application/json) |
${aspnet-request-cookie} | ASP.NET请求cookie内容 |
${aspnet-request-form} | ASP.NET请求表单内容 |
${aspnet-request-headers} | ASP.NET请求头部键/值对 |
${aspnet-request-host} | ASP.NET请求主机 |
${aspnet-request-ip} | 客户端IP |
${aspnet-request-method} | ASP.NET请求方法(GET,POST等) |
${aspnet-request-posted-body} | ASP.NET请求的提交主体/负载 |
${aspnet-request-querystring} | ASP.NET请求查询字符串 |
${aspnet-request-referrer} | ASP.NET请求引用者 |
${aspnet-request-routeparameters} | ASP.NET请求路由参数 |
${aspnet-request-url} | ASP.NET请求URL |
${aspnet-request-useragent} | ASP.NET请求用户代理 |
${aspnet-response-statuscode} | ASP.NET响应状态码内容 |
${aspnet-session} | ASP.NET会话变量 |
${aspnet-sessionid} | ASP.NET会话ID变量 |
${aspnet-traceidentifier} | ASP.NET跟踪标识符 |
${aspnet-user-authtype} | ASP.NET用户身份验证类型 |
${aspnet-user-claim} | ASP.NET用户声明授权值 |
${aspnet-user-identity} | ASP.NET用户变量 |
${aspnet-user-isauthenticated} | ASP.NET用户是否已验证 |
${aspnet-webrootpath} | ASP.NET Web根路径(wwwroot) |
${iis-site-name} | IIS站点名称 |