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 Headers Layout Renderer

Rolf Kristensen edited this page Dec 30, 2022 · 12 revisions

ASP.NET Request Headers key/value pairs.

Platforms Supported: All

Introduced in NLog.Web 4.9 and NLog.Web.AspNetCore 4.9

Configuration Syntax

${aspnet-request-headers:headerNames=String[]:outputFormat=Enum
    :itemSeparator=String:valueSeparator=String
    :valuesOnly=Boolean}

Parameters

Rendering Options

  • items - Header 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 headerNames-option.

  • exclude - Header key names to be excluded. A list of keys can be passed as comma separated values, e.g.: Key1,Key2

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 (Introduced with NLog 5.0, replaces now obsolete Json)
    • JsonDictionary - Key-value-pair as JSON-dictionary. (Introduced with NLog 5.0, replaces now obsolete singleAsArray)
  • 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 headers(s) stored in the ASP.NET Request Headers collection.

Examples

In C# code:

Request.Headers["key1"] = "value1";
Request.Headers["id"] = "d4b20a34-6231-4201-83a6-c72599e41164";

Log single header in default Flat output format

${aspnet-request-headers:HeaderNames=key1}

Will print:

"key1=value1"

Log multiple headers in default Flat output format

${aspnet-request-headers:HeaderNames=key1,id}

Will print:

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

Log single header ie in JSON output format

${aspnet-request-headers:HeaderNames=key1:OutputFormat=JSON}

Will print:

[{"key1":"value1"}]

Log multiple headers in JSON output format

${aspnet-request-headers:HeaderNames=key1,id:OutputFormat=JSON}

Will print:

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

Log single header as JSON dictionary:

${aspnet-request-headers:HeaderNames=key1:OutputFormat=JsonDictionary}

Will print:

{"key1":"value1"}

Log single header in Flat output format as value only

${aspnet-request-headers:HeaderNames=key1:ValuesOnly=true}

Will print:

"value1"

Log single header in JSON output format as value only

${aspnet-request-headers:HeaderNames=key1:OutputFormat=JSON:ValuesOnly=true}

Will print:

["value1"]

Log multiple headers in JSON output format as value only

${aspnet-request-headers:HeaderNames=key1,id:OutputFormat=JSON: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.