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.
#r "nuget: NLog, 4.7.1"
#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=4.7.1

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

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

NuGet packages (2.1K)

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, check: 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/v4.4/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 (274)

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.
Sonarr/Sonarr
Smart PVR for newsgroup and bittorrent users.
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.0-rc2 12 1/19/2022
5.0.0-rc1 7,382 12/20/2021
5.0.0-preview.3 19,815 10/26/2021
5.0.0-preview.2 6,547 10/3/2021
5.0.0-preview.1 9,077 8/25/2021
4.7.13 303,166 12/5/2021
4.7.12 594,660 10/24/2021
4.7.11 1,800,524 8/18/2021
4.7.10 2,753,764 5/14/2021
4.7.9 2,801,460 3/24/2021
4.7.8 1,521,170 2/25/2021
4.7.7 1,474,560 1/20/2021
4.7.6 2,821,121 12/6/2020
4.7.5 3,255,313 9/27/2020
4.7.4 2,611,674 8/22/2020
4.7.3 986,492 7/31/2020
4.7.2 6,466,180 5/18/2020
4.7.1 86,199 5/15/2020
4.7.0 3,451,823 3/20/2020
4.6.8 10,697,920 11/4/2019
4.6.7 8,016,741 8/25/2019
4.6.6 2,185,246 7/14/2019
4.6.5 2,845,760 6/14/2019
4.6.4 2,141,456 5/28/2019
4.6.3 1,957,634 4/30/2019
4.6.2 1,601,804 4/2/2019
4.6.1 194,231 3/29/2019
4.6.0 668,238 3/21/2019
4.5.11 10,898,166 11/6/2018
4.5.10 4,544,501 9/17/2018
4.5.9 1,225,138 8/24/2018
4.5.8 1,716,103 8/5/2018
4.5.7 922,956 7/19/2018
4.5.6 2,517,133 5/29/2018
4.5.5 658,742 5/25/2018
4.5.4 2,336,156 5/5/2018
4.5.3 1,284,540 4/16/2018
4.5.2 822,198 4/6/2018
4.5.1 259,608 4/3/2018
4.5.0 4,754,596 3/25/2018
4.4.13 691,174 2/27/2018
4.4.12 5,700,815 8/8/2017
4.4.11 1,609,956 6/17/2017
4.4.10 357,800 5/31/2017
4.4.9 930,646 5/5/2017
4.4.8 156,672 4/28/2017
4.4.7 103,056 4/25/2017
4.4.6 297,268 4/15/2017
4.4.5 427,676 3/28/2017
4.4.4 512,491 3/10/2017
4.4.3 655,098 2/17/2017
4.4.2 361,959 2/6/2017
4.4.1 1,197,292 12/24/2016
4.4.0 271,876 12/14/2016
4.3.11 939,270 11/7/2016
4.3.10 671,157 10/11/2016
4.3.9 444,601 9/18/2016
4.3.8 596,979 9/5/2016
4.3.7 574,419 8/6/2016
4.3.6 250,697 7/23/2016
4.3.5 788,310 6/12/2016
4.3.4 690,857 5/16/2016
4.3.3 347,810 4/28/2016
4.3.2 85,040 4/26/2016
4.3.1 104,033 4/20/2016
4.3.0 128,034 4/16/2016
4.2.3 1,523,878 12/20/2015
4.2.2 282,078 12/2/2015
4.2.1 418,318 11/21/2015
4.2.0 373,384 10/24/2015
4.1.2 724,504 9/20/2015
4.1.1 147,430 9/12/2015
4.1.0 197,063 8/31/2015
4.0.1 736,934 6/18/2015
4.0.0 871,045 6/9/2015
3.2.1 778,691 4/24/2015
3.2.0 1,375,184 1/2/2015
3.1.0 1,379,420 6/24/2014
3.0.0 213,917 6/2/2014
2.1.0 1,426,345 10/10/2013
2.0.1.2 906,937 4/8/2013
2.0.0.2000 1,571,280 7/18/2011
1.0.0.505 363,006 1/7/2011

## 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/