Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

AspNetRequest RouteParameters Layout Renderer

Rolf Kristensen edited this page Aug 28, 2023 · 11 revisions

ASP.NET Request RouteParameters key/value pairs.

Platforms Supported: All

Introduced in NLog.Web 5.0 and NLog.Web.AspNetCore 5.0

Configuration Syntax

${aspnet-request-routeparameters:items=String:outputFormat=Enum
    :itemSeparator=String:valueSeparator=String
    :valuesOnly=Boolean}

Parameters

Rendering Options

  • items - RouteParameter 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.1, and replaces the RouteParameterKeys-option.

Formatting options

  • outputFormat - Renders as flat string or as JSON. Default: Flat.
    • Flat - Key-value-pair as standard string
    • JsonArray - Key-value-pair in JSON-array
    • JsonDictionary - Key-value-pair as JSON-dictionary
  • itemSeparator - Separator between items. Default: ,. Only applies when OutputFormat is Flat.
  • valueSeparator - Separator between value and key. Default: =. Only applies when OutputFormat is Flat.
  • 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 v5.1.1

Remarks

Use this layout renderer to log the value of the specified route-parameter(s) stored in the ASP.NET GetRouteData() Values collection.

Examples

Log single route-parameter in default Flat output format

${aspnet-request-routeparameters:Items=key1}

Will print:

"key1=value1"

Log multiple route-parameters in default Flat output format

${aspnet-request-routeparameters:items=key1,id}

Will print:

"key1=value1,id=d4b20a34-6231-4201-83a6-c72599e41164"

Log single route-parameter in JSON output format

${aspnet-request-routeparameters:items=key1:OutputFormat=JsonArray}

Will print:

[{"key1":"value1"}]

Log multiple route-parameters in JSON output format

${aspnet-request-routeparameters:items=key1,id:OutputFormat=JsonArray}

Will print:

[{"key1":"value1","id":"d4b20a34-6231-4201-83a6-c72599e41164"}]

Log single route-parameter as JSON dictionary:

${aspnet-request-routeparameters:items=key1:OutputFormat=JsonDictionary}

Will print:

{"key1":"value1"}

Log single route-parameter in Flat output format as value only

${aspnet-request-routeparameters:items=key1:ValuesOnly=true}

Will print:

"value1"

Log single route-parameter in JSON output format as value only

${aspnet-request-routeparameters:items=key1:OutputFormat=JsonArray:ValuesOnly=true}

Will print:

["value1"]

Log multiple route-parameters in JSON output format as value only

${aspnet-request-routeparameters:items=key1,id:OutputFormat=JsonArray:ValuesOnly=true}

Will print:

["value1","d4b20a34-6231-4201-83a6-c72599e41164"]

Clone this wiki locally

Morty Proxy This is a proxified and sanitized view of the page, visit original site.