NLog 4.6.0

NLog is a logging platform for .NET with rich log routing and management capabilities.
NLog supports traditional logging, structured logging and the combination of both.

Supported platforms:

- .NET Framework 3.5, 4, 4.5, 4.6, 4.7 & 4.8
- .NET Standard 1.3+ and 2.0+;
- .NET Framework 4 client profile
- Xamarin Android, Xamarin iOs
- UWP
- Windows Phone 8
- Silverlight 4 and 5
- Mono 4

For ASP.NET Core, check: NLog.Web.Asp.NET Core

There is a newer version of this package available.
See the version list below for details.
Install-Package NLog -Version 4.6.0
dotnet add package NLog --version 4.6.0
<PackageReference Include="NLog" Version="4.6.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NLog --version 4.6.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

## All changes NLog 4.6

### Features

#### Main Feature

* Database target: support for DbType for parameters (including SqlDbType) - #2363 + #2899 + #3085 + #3091 (@hubo0831, @ObikeDev, @sorvis, @304NotModified, @snakefoot)

#### XML config features

* Added support for constant variable in level attributes - #2709  (level, minlevel, etc) (@304NotModified)
* Added defaultAction option for <filter> - #2848 (@304NotModified)
* Rules now support multiple '*' and '?' wildcards and in any position - #3098   (@beppemarazzi)
* Added Support ${currentdir}, ${basedir}, ${tempdir} and environment variables in internalLogFile value - #3031 + #3092  (@snakefoot)

#### New targets, layouts and layout renderers

* Added XmlLayout - Render LogEventInfo.Properties as XML - #2670 + #3014 (@snakefoot)
* Added ${db-null} layout renderer - #2849  (@304NotModified)
* Added New ${substring}, ${left} & ${right} layoutrenderer wrappers - #2907  (@304NotModified)
* Added ${HostName} Layout Renderer for full computer DNS name - #3071  (@amitsaha)
* Added ${AppSetting} Layout Renderer (app.config + web.config) moved from NLog.Extended for NetFramework - #3053  (@snakefoot)
* Added noRawValue layout wrapper - #3165  (@snakefoot)

#### Additions to targets, layouts and layout renderers

* AsyncTargetWrapper: added LogEventDropped + LogEventQueueGrow events - #2610 (@Pomoinytskyi)
* NetworkTarget - Support for SSL & TLS - #2678 (@snakefoot)
* JsonLayout: support for System.Dynamic-objects - #2902  (@304NotModified)
* AsyncTaskTarget: Added support for BatchSize and RetryCount  - #2909  (@snakefoot)
* ColoredConsoleTarget - Added EnableAnsiOutput option (VS Code support) - #3018  (@jp7677 + @snakefoot)
* Added IncludeGdc property in JsonLayout - #3050  (@casperc89)
* TargetWithContext - Support for PropertyType using IRawValue-interface - #3060  (@snakefoot)

### Enhancements

* JsonLayout includes Type-property when rendering Exception-object - #2989 (@snakefoot)
* LoggingConfigurationParser - Extracted from XmlLoggingConfiguration - #2891 (Prepare for appsettings.json)  (@snakefoot)
* Added support for complex objects in MDLC and NDLC on Net45 - #2910  (@snakefoot)
* PerformanceCounter - Improve behavior for CPU usage calculation - #2918  (@snakefoot)
* TargetWithContext - Include all properties even when duplicate names - #2941  (@snakefoot)
* Updated resharper annotations for better validation - #2974 (@imanushin)
* Improve default reflection support on .NET Core Native - #2979 (@snakefoot)
* EventLogTarget with better support for MaximumKilobytes configuration - #3017 (@Coriolanuss)
* Added Xamarin PreserveAttribute for the entire Assembly to improve AOT-linking - #3039 (@snakefoot)
* Create snupkg packages and use portable PDB - #3045 (@snakefoot)
* KeepFileOpen + ConcurrentWrites on Xamarin + UWP - #3079 - #3048 (@304NotModified)
* WebService Target allow custom override of SoapAction-header for Soap11 - #3082 + #3100 (@AlexeyRokhin)
* AsyncTaskTarget - Fixed unwanted delay caused by slow writer
* Various refactorings (19 pull requests) (@beppemarazzi, @304NotModified, @snakefoot)

### Performance

* AsyncTargetWrapper using ConcurrentQueue for .NET Core 2 for better thread-concurrency - #2650 (@snakefoot)
* AsyncTargetWrapper - TimeToSleepBetweenBatches changed default to 1ms - #2890 (@snakefoot)
* InternalLogger performance optimization when LogLevel.Off - #2897 (@snakefoot)
* InternalLogger LogLevel changes to LogLevel.Off by default unless being used. - #2935 (@snakefoot)
* CsvLayout - Allocation optimizations and optional skip quoting-check for individual columns. - #2934 (@snakefoot)
* MappedDiagnosticsLogicalContext - SetScoped with IReadOnlyList (Prepare for MEL BeginScope) - #2949 (@snakefoot)
* IRenderString-interface to improve performance for Layout with single LayoutRenderer - #2973 (@snakefoot)
* StringBuilderPool - Reduce memory overhead until required - #3103 (@snakefoot)

**LibLog Breaking change**

* [damianh/LibLog#181](https://github.com/damianh/LibLog/pull/181) - Sub-components using LibLog ver. 5.0.3 (or newer) will now use MDLC + NDLC (Instead of MDC + NDC) when detecting application is using NLog ver. 4.6. Make sure to update NLog.config to match this change. Make sure that all sub-components have upgraded to LibLog ver. 5.0.3 (or newer) if they make use of `OpenNestedContext` or `OpenMappedContext`.

See also [NLog 4.6 Milestone](https://github.com/NLog/NLog/milestone/44?closed=1)

Full changelog: https://github.com/NLog/NLog/blob/master/CHANGELOG.md

For all config options and platform support, check https://nlog-project.org/config/

NuGet packages (1.9K)

Showing the top 5 NuGet packages that depend on NLog:

Package Downloads
NLog.Extensions.Logging
NLog LoggerProvider for Microsoft.Extensions.Logging for logging in .NET Standard libraries and .NET Core applications. For ASP.NET Core, use NLog.Web.AspNetCore: https://www.nuget.org/packages/NLog.Web.AspNetCore
NLog.Config
NLog.config file to get started with configuring NLog. This package is not mandatory to get started with NLog: the configuration file can created manually (read specs here: https://github.com/NLog/NLog/wiki/Configuration-file) or the configuration can be created programmatically. (read more here: https://github.com/NLog/NLog/wiki/Configuration-API) Note: Unfortunately this package won't work well when using <PackageReference> Advised to: - download manually: https://raw.githubusercontent.com/NLog/NLog/dev/src/NuGet/NLog.Config/content/NLog.config - set "Copy To Output Directory" to "Copy if newer"
Microsoft.ApplicationInsights.NLogTarget
Application Insights NLog Target is a custom target allowing you to send NLog log messages to Application Insights. Application Insights will collect your logs from multiple sources and provide rich powerful search capabilities. Privacy statement: https://go.microsoft.com/fwlink/?LinkId=512156
NLog.Web
NLog logging for ASP.NET and ASP.NET MVC. Includes targets and layout renderers for websites and web applications. This package is for ASP.NET 3.5+ For ASP.NET Core: Check https://www.nuget.org/packages/NLog.Web.AspNetCore
NLog.Extended
NLog.Extended.dll provides MSMQ target and AppSetting renderer

GitHub repositories (241)

Showing the top 5 popular GitHub repositories that depend on NLog:

Repository Stars
shadowsocks/shadowsocks-windows
If you want to keep a secret, you must also hide it from yourself.
Wox-launcher/Wox
Launcher for Windows, an alternative to Alfred and Launchy.
files-community/Files
A modern file explorer that pushes the boundaries of the platform.
JustArchiNET/ArchiSteamFarm
C# application with primary purpose of idling Steam cards from multiple accounts simultaneously.
Sonarr/Sonarr
Smart PVR for newsgroup and bittorrent users.

Version History

Version Downloads Last updated
4.7.7 2,045 1/20/2021
4.7.6 273,620 12/6/2020
4.7.5 941,601 9/27/2020
4.7.4 1,014,601 8/22/2020
4.7.3 465,996 7/31/2020
4.7.2 2,744,957 5/18/2020
4.7.1 52,164 5/15/2020
4.7.0 1,938,223 3/20/2020
4.6.8 6,298,867 11/4/2019
4.6.7 5,187,016 8/25/2019
4.6.6 1,579,354 7/14/2019
4.6.5 2,012,339 6/14/2019
4.6.4 1,580,879 5/28/2019
4.6.3 1,373,804 4/30/2019
4.6.2 1,073,265 4/2/2019
4.6.1 148,346 3/29/2019
4.6.0 466,003 3/21/2019
4.5.11 6,916,180 11/6/2018
4.5.10 3,454,352 9/17/2018
4.5.9 981,845 8/24/2018
4.5.8 1,375,726 8/5/2018
4.5.7 733,009 7/19/2018
4.5.6 1,985,713 5/29/2018
4.5.5 493,205 5/25/2018
4.5.4 1,695,998 5/5/2018
4.5.3 955,235 4/16/2018
4.5.2 681,070 4/6/2018
4.5.1 206,648 4/3/2018
4.5.0 2,892,256 3/25/2018
4.4.13 561,334 2/27/2018
4.4.12 4,565,304 8/8/2017
4.4.11 1,145,132 6/17/2017
4.4.10 291,726 5/31/2017
4.4.9 769,090 5/5/2017
4.4.8 119,426 4/28/2017
4.4.7 89,450 4/25/2017
4.4.6 253,402 4/15/2017
4.4.5 352,786 3/28/2017
4.4.4 417,345 3/10/2017
4.4.3 570,292 2/17/2017
4.4.2 300,357 2/6/2017
4.4.1 873,297 12/24/2016
4.4.0 234,650 12/14/2016
4.3.11 791,221 11/7/2016
4.3.10 530,167 10/11/2016
4.3.9 392,591 9/18/2016
4.3.8 508,941 9/5/2016
4.3.7 478,508 8/6/2016
4.3.6 219,490 7/23/2016
4.3.5 704,659 6/12/2016
4.3.4 604,019 5/16/2016
4.3.3 295,680 4/28/2016
4.3.2 74,069 4/26/2016
4.3.1 92,645 4/20/2016
4.3.0 101,353 4/16/2016
4.2.3 1,203,163 12/20/2015
4.2.2 229,366 12/2/2015
4.2.1 214,408 11/21/2015
4.2.0 320,380 10/24/2015
4.1.2 578,268 9/20/2015
4.1.1 117,007 9/12/2015
4.1.0 161,680 8/31/2015
4.0.1 600,396 6/18/2015
4.0.0 642,695 6/9/2015
3.2.1 641,613 4/24/2015
3.2.0 1,122,112 1/2/2015
3.1.0 1,154,970 6/24/2014
3.0.0 180,544 6/2/2014
2.1.0 1,023,515 10/10/2013
2.0.1.2 629,621 4/8/2013
2.0.0.2000 1,061,320 7/18/2011
1.0.0.505 221,073 1/7/2011
Show less