NLog 4.7.1

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.AspNetCore

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

Release Notes

## Bugfixes
- SplitGroup Target Wrapper should not skip remaining targets when single target fails (@snakefoot)
- ColoredConsoleTarget - Fix bug in handling of newlines without word-highlight (@snakefoot)
- ${processid} will no longer fail because unable to lookup ${processdir} on Mono Android (@snakefoot)

## Features
- LogManager.Setup().LoadConfigurationFromFile("NLog.config") added to fluent setup (@snakefoot + @304NotModified)
- LogManager.Setup().GetCurrentClassLogger() added to fluent setup (@snakefoot + @304NotModified)
- LogManager.Setup().SetupInternalLogger(s => s.AddLogSubscription()) added to fluent setup (@snakefoot + @304NotModified)
- ColoredConsoleTarget - Added Condition option to control when to do word-highlight (@snakefoot)
- Added new option CaptureStackTrace to ${stacktrace} and ${callsite} to skip implicit capture by Logger (@snakefoot)
- Exception-LayoutRenderer with new option BaseException for rendering innermost exception (@snakefoot)

## Improvements
- FileTarget - Batch write to filestream in max chunksize of 100 times BufferSize (@snakefoot)
- InternalLogger include whether NLog comes from GlobalAssemblyCache when logging NLog version (@snakefoot)
- InternalLogger LogToFile now support ${processdir} to improve support for single-file-publish (@snakefoot)
- Added ${processdir} that matches ${basedir:processDir=true} for consistency with InternalLogger (@snakefoot)
- Object property reflection now support IReadOnlyDictionary as expando object (@snakefoot)
- InternalLogger include more details like FilePath when loading NLog.config file (@snakefoot)
- Added support for Nullable when doing conversion of property types (@304NotModified)
- InternalLogger Warnings when skipping unrecognized LayoutRenderer options (@snakefoot)
- MappedDiagnosticsLogicalContext - SetScoped with IReadOnlyList also for Xamarin (@snakefoot)
- Object property reflection automatically performs ToString for System.Reflection.Module (@snakefoot)
- Improve ${basedir:fixtempdir=true} to work better on Linux when TMPDIR not set (@snakefoot)
- NetworkTarget respect MaxQueueSize for http- / https-protocol (@snakefoot)
- LogFactory.LoadConfiguration() reports searched paths when throwing FileNotFoundException (@304NotModified)
- ReplaceNewLines-LayoutRenderer will also remove windows newlines on the Linux platform (@Silvenga)

## Performance
- FileTarget - Skip checking file-length when only using ArchiveEvery (@snakefoot)
- ObjectGraphScanner performs caching of property reflection for NLog config items (@snakefoot)
- Condition expressions now handles operator like '==' without memory boxing (@snakefoot)
- ObjectGraphScanner should only check for layout-attributes on Layouts and LayoutRenderers (@snakefoot)
- MessageTemplate parsing of properties skips unnecessary array allocation (@snakefoot)

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.8K)

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 (234)

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.
JustArchiNET/ArchiSteamFarm
C# application with primary purpose of idling Steam cards from multiple accounts simultaneously.
Sonarr/Sonarr
Smart PVR for newsgroup and bittorrent users.
Jackett/Jackett
API Support for your favorite torrent trackers

Version History

Version Downloads Last updated
4.7.5 460,968 9/27/2020
4.7.4 697,346 8/22/2020
4.7.3 371,395 7/31/2020
4.7.2 2,116,617 5/18/2020
4.7.1 47,184 5/15/2020
4.7.0 1,700,168 3/20/2020
4.6.8 5,638,466 11/4/2019
4.6.7 4,766,682 8/25/2019
4.6.6 1,496,179 7/14/2019
4.6.5 1,895,251 6/14/2019
4.6.4 1,507,732 5/28/2019
4.6.3 1,307,955 4/30/2019
4.6.2 1,015,417 4/2/2019
4.6.1 137,739 3/29/2019
4.6.0 442,978 3/21/2019
4.5.11 6,461,994 11/6/2018
4.5.10 3,302,896 9/17/2018
4.5.9 943,398 8/24/2018
4.5.8 1,322,961 8/5/2018
4.5.7 705,773 7/19/2018
4.5.6 1,900,739 5/29/2018
4.5.5 472,575 5/25/2018
4.5.4 1,603,908 5/5/2018
4.5.3 912,364 4/16/2018
4.5.2 665,133 4/6/2018
4.5.1 201,345 4/3/2018
4.5.0 2,701,447 3/25/2018
4.4.13 537,849 2/27/2018
4.4.12 4,377,846 8/8/2017
4.4.11 1,112,085 6/17/2017
4.4.10 285,072 5/31/2017
4.4.9 748,927 5/5/2017
4.4.8 114,907 4/28/2017
4.4.7 87,860 4/25/2017
4.4.6 246,310 4/15/2017
4.4.5 343,194 3/28/2017
4.4.4 403,879 3/10/2017
4.4.3 556,922 2/17/2017
4.4.2 290,481 2/6/2017
4.4.1 838,158 12/24/2016
4.4.0 230,269 12/14/2016
4.3.11 773,777 11/7/2016
4.3.10 513,949 10/11/2016
4.3.9 385,485 9/18/2016
4.3.8 499,304 9/5/2016
4.3.7 466,404 8/6/2016
4.3.6 215,554 7/23/2016
4.3.5 692,388 6/12/2016
4.3.4 589,688 5/16/2016
4.3.3 286,317 4/28/2016
4.3.2 73,169 4/26/2016
4.3.1 90,659 4/20/2016
4.3.0 99,485 4/16/2016
4.2.3 1,170,153 12/20/2015
4.2.2 224,095 12/2/2015
4.2.1 209,427 11/21/2015
4.2.0 316,000 10/24/2015
4.1.2 565,047 9/20/2015
4.1.1 111,655 9/12/2015
4.1.0 158,076 8/31/2015
4.0.1 587,582 6/18/2015
4.0.0 608,901 6/9/2015
3.2.1 626,725 4/24/2015
3.2.0 1,101,869 1/2/2015
3.1.0 1,132,376 6/24/2014
3.0.0 176,887 6/2/2014
2.1.0 989,047 10/10/2013
2.0.1.2 619,618 4/8/2013
2.0.0.2000 1,035,674 7/18/2011
1.0.0.505 210,781 1/7/2011
Show less