.NET Standard 1.3 .NET Framework 3.5
There is a newer version of this package available.
See the version list below for details.
Install-Package NLog -Version 5.0.0
dotnet add package NLog --version 5.0.0
<PackageReference Include="NLog" Version="5.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NLog --version 5.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: NLog, 5.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install NLog as a Cake Addin
#addin nuget:?package=NLog&version=5.0.0

// Install NLog as a Cake Tool
#tool nuget:?package=NLog&version=5.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

See Release post

Details of changes: See here

Major Features

  • NLog is now faster and lighter
  • NLog Layout for everything
  • NLog ScopeContext to replace MDC + MDLC + NDC + NDLC
  • NLog Layout stored as NLog Configuration Variables
  • Fluent API for NLog LoggingConfiguration
  • NLog Callsite from caller member attributes
  • LogFactory with Dependency Injection
  • Aliases support for targets, layouts, layout renderers and conditions\
  • Dashes (-) will be ignored when parsing names

Breaking Changes

See rationale here

  • Strong Version Changed
  • Obsolete methods have been removed
  • Xamarin, Windows Phone and Silverlight platforms have been removed
  • .NET Framework v4.0 platform removed and replaced with .NET Framework v4.6
  • NLog Extensions assemblies will not load automatically
  • NLog Targets extracted into their own nuget-packages
  • Deprecated NLog.Extended nuget-package
  • Deprecated NLog.Config nuget-package
  • Automatic loading of NLog.config now first check for exe.nlog
  • NLog Configuration will have KeepVariablesOnReload enabled by default
  • Layout and LayoutRenderer are now threadsafe by default
  • Default Layout for NLog Targets has been updated
  • Default Format for NLog Exception layoutrenderer has been updated
  • NLog InternalLogger will not initialize itself from app.config or environment variables
  • Removed obsolete method Target.Write(AsyncLogEventInfo[]) and OptimizeBufferReuse is always true
  • ScopeContext changes MappedDiagnosticContext (MDC) to use AsyncLocal
  • MappedDiagnosticContext (MDC), MappedDiagnosticLogicalContext (MDLC), GlobalDiagnosticContext (GDC) now case-insensitive
  • FileTarget KeepFileOpen = true by default
  • FileTarget ConcurrentWrites = false by default
  • FileTarget Encoding default value changed to UTF8
  • FileTarget will include BOM by default for UTF16 and UTF32 encoding
  • NetworkTarget will Discard by default on overflow
  • JsonLayout MaxRecursionLimit default value changed to 1
  • JsonLayout EscapeForwardSlash default value changed to false
  • JsonLayout always includes decimal point for floating-point types
  • CallSite-renderer will automatically clean async callstacks
  • LoggingRule Filters DefaultAction changed to FilterResult.Ignore
  • NLog.Extensions.Logging without any filter
  • NLog.Extensions.Logging changes capture of EventId
  • The Simplelayout.ToString() has been changed

Many other improvements

For a full list of all the enhancements and performance improvements: NLog 5.0 Pull Requests

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp1.0 netcoreapp1.1 netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 netstandard2.1
.NET Framework net35 net40 net403 net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen30 tizen40 tizen60
Universal Windows Platform uap uap10.0
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2.2K)

Showing the top 5 NuGet packages that depend on NLog:

Package Downloads
NLog.Extensions.Logging The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

NLog LoggerProvider for Microsoft.Extensions.Logging for logging in .NET Standard libraries and .NET Core applications. For ASP.NET Core, check: https://www.nuget.org/packages/NLog.Web.AspNetCore

NLog.Config The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

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/v4.4/src/NuGet/NLog.Config/content/NLog.config - set "Copy To Output Directory" to "Copy if newer"

Microsoft.ApplicationInsights.NLogTarget The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

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 The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

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 The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

NLog.Extended.dll provides MSMQ target and AppSetting renderer

GitHub repositories (235)

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

Repository Stars
microsoft/PowerToys
Windows system utilities to maximize productivity
Wox-launcher/Wox
Launcher for Windows, an alternative to Alfred and Launchy.
BeyondDimension/SteamTools
🛠「Watt Toolkit」是一个开源跨平台的多功能 Steam 工具箱。
Jackett/Jackett
API Support for your favorite torrent trackers
rocksdanister/lively
Free and open-source software that allows users to set animated desktop wallpapers and screensavers.
Version Downloads Last updated
5.0.1 78,501 6/12/2022
5.0.0 309,197 5/16/2022
5.0.0-rc2 106,125 1/19/2022
5.0.0-rc1 79,105 12/20/2021
5.0.0-preview.3 46,927 10/26/2021
5.0.0-preview.2 11,820 10/3/2021
5.0.0-preview.1 12,465 8/25/2021
4.7.15 897,222 3/26/2022
4.7.14 617,287 2/23/2022
4.7.13 1,934,858 12/5/2021
4.7.12 1,394,018 10/24/2021
4.7.11 4,561,963 8/18/2021
4.7.10 4,162,046 5/14/2021
4.7.9 3,867,262 3/24/2021
4.7.8 2,076,592 2/25/2021
4.7.7 1,860,070 1/20/2021
4.7.6 3,399,412 12/6/2020
4.7.5 3,990,534 9/27/2020
4.7.4 3,114,319 8/22/2020
4.7.3 1,163,244 7/31/2020
4.7.2 7,606,463 5/18/2020
4.7.1 100,256 5/15/2020
4.7.0 3,958,684 3/20/2020
4.6.8 12,522,151 11/4/2019
4.6.7 9,218,908 8/25/2019
4.6.6 2,429,287 7/14/2019
4.6.5 3,145,561 6/14/2019
4.6.4 2,309,209 5/28/2019
4.6.3 2,225,066 4/30/2019
4.6.2 1,778,242 4/2/2019
4.6.1 245,054 3/29/2019
4.6.0 724,082 3/21/2019
4.5.11 12,718,848 11/6/2018
4.5.10 4,953,574 9/17/2018
4.5.9 1,303,251 8/24/2018
4.5.8 1,857,776 8/5/2018
4.5.7 1,015,054 7/19/2018
4.5.6 2,709,800 5/29/2018
4.5.5 707,587 5/25/2018
4.5.4 2,643,817 5/5/2018
4.5.3 1,402,052 4/16/2018
4.5.2 905,697 4/6/2018
4.5.1 277,913 4/3/2018
4.5.0 5,763,421 3/25/2018
4.4.13 737,153 2/27/2018
4.4.12 6,073,720 8/8/2017
4.4.11 1,723,934 6/17/2017
4.4.10 384,170 5/31/2017
4.4.9 990,694 5/5/2017
4.4.8 164,361 4/28/2017
4.4.7 110,874 4/25/2017
4.4.6 311,477 4/15/2017
4.4.5 453,902 3/28/2017
4.4.4 553,274 3/10/2017
4.4.3 686,827 2/17/2017
4.4.2 385,560 2/6/2017
4.4.1 1,343,755 12/24/2016
4.4.0 291,463 12/14/2016
4.3.11 988,171 11/7/2016
4.3.10 705,036 10/11/2016
4.3.9 461,164 9/18/2016
4.3.8 624,955 9/5/2016
4.3.7 603,022 8/6/2016
4.3.6 261,810 7/23/2016
4.3.5 825,539 6/12/2016
4.3.4 723,161 5/16/2016
4.3.3 380,640 4/28/2016
4.3.2 89,845 4/26/2016
4.3.1 108,189 4/20/2016
4.3.0 139,045 4/16/2016
4.2.3 1,649,884 12/20/2015
4.2.2 299,042 12/2/2015
4.2.1 437,771 11/21/2015
4.2.0 391,483 10/24/2015
4.1.2 775,705 9/20/2015
4.1.1 157,758 9/12/2015
4.1.0 206,003 8/31/2015
4.0.1 774,515 6/18/2015
4.0.0 974,685 6/9/2015
3.2.1 828,518 4/24/2015
3.2.0 1,451,567 1/2/2015
3.1.0 1,463,898 6/24/2014
3.0.0 219,684 6/2/2014
2.1.0 1,692,449 10/10/2013
2.0.1.2 937,263 4/8/2013
2.0.0.2000 1,739,917 7/18/2011
1.0.0.505 471,048 1/7/2011

List of major changes in NLog 5.0: https://nlog-project.org/2022/05/16/nlog-5-0-finally-ready.md

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

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