-
Notifications
You must be signed in to change notification settings - Fork 1.4k
MicrosoftConsoleJsonLayout
A custom NLog JsonLayout that renders to JSON to simulate Microsoft Logging AddJsonConsole.
Platforms Supported: All - Requires nuget-package NLog.Extensions.Logging
Introduced with NLog.Extensions.Logging ver. 5.0
<target name="jsonFile" xsi:type="File" fileName="${logFileNamePrefix}.json" >
<layout xsi:type="MicrosoftConsoleJsonLayout" includeScopes="Boolean" includeActivityIds="Boolean">
<attribute name="extraPropertyName" layout="extraPropertyValue" />
<state name="extraStateName" layout="extraStateValue" />
</layout>
</target>This would write:
{ "Timestamp": "2010-01-01 12:34:56.0000Z", "EventId": 110, "LogLevel": "Debug", "Category": "ConsoleApp.Program", "message": "hello, world", "State": { "location:" "world", "{OriginalFormat}": "hello, {location}" } }-
Attribute - Additional attributes.
-
State - Additional state attributes, besides the message properties.
-
IncludeScopes - Include ScopeContext Nested states as additional Scopes-attribute.
-
IncludeActivityIds - Includes TraceId + SpanId + ParentId from System.Diagnostics.Activity.Current
Introduced with NLog.Extensions.Logging ver. 6.1.3 - Simulates
ActivityTrackingOptions.TraceId | ActivityTrackingOptions.SpanId | ActivityTrackingOptions.ParentId -
TimestampFormat - Override the format of the UTC Timestamp. Default = "O"
-
IndentJson - Enables indent for JSON pretty format with newlines (From JsonLayout). Default = false
-
DottedRecursion - Flatten object-property-names (From JsonLayout). Default = false
Introduced with NLog.Extensions.Logging ver. 6.1.1
- 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