- Notifications
You must be signed in to change notification settings - Fork1.4k
AspNetRequest Form Layout Renderer
Rolf Kristensen edited this pageAug 28, 2023 ·10 revisions
ASP.NET Request Form key/value pairs.
Platforms Supported:All
Introduced in NLog.Web 4.7
${aspnet-request-form:items=String[]:exclude=String[]:outputFormat=Enum :itemSeparator=Layout:valueSeparator=Layout :valuesOnly=Boolean}- items - Form key name(s). A list of keys can be passed as comma separated values, e.g.:
Key1,Key2(Not specified means all)Introduced with NLog.Web / NLog.Web.AspNetCore v5.2.2, and replaces the
include-option. - exclude - Form key name(s) to exclude from the output. A list of keys can be passed as comma separated values, e.g.:
Key1,Key2.
- outputFormat - Renders as flat string or as JSON. Default:
Flat.Flat- Key-value-pair as standard stringJsonArray- Key-value-pair in JSON-array (Introduced with NLog 5.0, replaces now obsoleteJson)JsonDictionary- Key-value-pair as JSON-dictionary. (Introduced with NLog 5.0, replaces now obsoletesingleAsArray)
- itemSeparator - Separator between items. Default:
,. Only applies when OutputFormat isFlat. - valueSeparator - Separator between value and key. Default:
=. Only applies when OutputFormat isFlat. - valuesOnly - Only render the values of the key/value pairs. Default:
false. - LowerCaseKeys - Convert Keys to lowercase. Default:
false.Introduced in NLog.Web / NLog.Web.AspNetCore 5.1.1
Use this layout renderer to log the ASP.NET Request Form collection.
In C# code:
httpContext.Request.Form=newFormCollection(newDictionary<string,StringValues>{{"id","1"},{"name","Test Person"},{"token","86abe8fe-2237-4f87-81af-0a4e522b4140"}});
${aspnet-request-form}Will print:
"id=1,name=Test Person,token=86abe8fe-2237-4f87-81af-0a4e522b4140"${aspnet-request-form:OutputFormat=JSON}Will print:
[{"id":"1"},{"name":"Test Person"},{"token":"86abe8fe-2237-4f87-81af-0a4e522b4140"}]${aspnet-request-form:items=id,name}Will print:
"id=1,name=Test Person"${aspnet-request-form:Exclude=token}Will print:
"id=1,name=Test Person"${aspnet-request-form:ItemSeparator=${newline}}Will print:
"id=1\r\nname=Test Person\r\ntoken=86abe8fe-2237-4f87-81af-0a4e522b4140"-Troubleshooting Guide - See available NLog Targets and Layouts:https://nlog-project.org/config
- All targets, layouts and layout renderers
Popular: - Using NLog with NLog.config
- Using NLog with appsettings.json