-
Notifications
You must be signed in to change notification settings - Fork 1.4k
AspNetRequest Form Layout Renderer
Rolf Kristensen edited this page Aug 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 string -
JsonArray- 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 = new FormCollection(new Dictionary<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
- Getting started
- How to use structured logging
- Troubleshooting
- FAQ
- Articles about NLog
-
All targets, layouts and layout renderers
Popular: - Using NLog with NLog.config
- Using NLog with appsettings.json