NLog
4.6.8
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
See the version list below for details.
Install-Package NLog -Version 4.6.8
dotnet add package NLog --version 4.6.8
<PackageReference Include="NLog" Version="4.6.8" />
paket add NLog --version 4.6.8
#r "nuget: NLog, 4.6.8"
Getting started with NLog
- Getting started for .NET
- Getting started for ASP.NET Core 3
- Getting started for ASP.NET Core 2
- Getting started for .NET Core 2 Console application
- Getting started for ASP.NET Core 1 (csproj - vs2017)
- How to use structured logging
Config
- All config options: nlog-project.org/config
Troubleshooting
Getting started with NLog
- Getting started for .NET
- Getting started for ASP.NET Core 3
- Getting started for ASP.NET Core 2
- Getting started for .NET Core 2 Console application
- Getting started for ASP.NET Core 1 (csproj - vs2017)
- How to use structured logging
Config
- All config options: nlog-project.org/config
Troubleshooting
Release Notes
## Bugfixes
- DatabaseTarget - Auto escape special chars in password, and improve handling of empty username/password (@304NotModified)
- LoggingRule - Fixed IndexOutOfRangeException for SetLoggingLevels with LogLevel.Off (@snakefoot)
- FileTarget - Improved handling of relative path in ArchiveFileName (@snakefoot)
- ExceptionLayoutRenderer - Fixed missing separator when Format-value gives empty result (@brinko99)
- ${substring} - Length should not be mandatory (@304NotModified)
- SimpleLayout - Fixed NullReferenceException in PreCalculate during TryGetRawValue optimization (@snakefoot)
## Features
- LogFactory - AutoShutdown can be configured to unhook from AppDomain-Unload, and avoid premature shutdown with IHostBuilder (@snakefoot)
- PerformanceCounterLayoutRenderer - Added Layout-support for Instance-property (@snakefoot)
- ${local-ip} Layout Renderer for local machine ip-address (@snakefoot + @304NotModified)
- CachedLayoutRendererWrapper - Added CachedSeconds as ambient property. Ex. ${local-ip:cachedSeconds=60} (@snakefoot)
- JsonLayout - Added EscapeForwardSlash-option to skip Json-escape of forward slash (@304NotModified)
- AllEventPropertiesLayoutRenderer - Added Exclude-option that specifies property-keys to skip (@snakefoot)
- ${Exception} - Added new Format-option values HResult and Properties (@snakefoot)
## Improvements
- ConcurrentRequestQueue refactoring to reduce code complexity (@snakefoot)
- AsyncTargetWrapper now fallback to clearing internal queue if flush fails to release blocked writer threads (@snakefoot)
- ${CallSite} - Small improvements for recognizing async callsite cases (@snakefoot)
- LogManager.GetCurrentClassLogger - Improved capture of Logger name when called within lambda_method (@snakefoot)
- ${BaseDir=FixTempDir=true} fallback to process directory for .NET Core 3 Single File Publish (@snakefoot)
- Auto-loading NLog configuration from process.exe.nlog will priotize process directory for .NET Core 3 Single File Publish (@snakefoot)
- ObjectPathRendererWrapper minor refactorings (@snakefoot)
- ObjectHandleSerializer.GetObjectData includes SerializationFormatter=true for use in MDLC + NDLC (@snakefoot)
- FileTarget - Extra logging when FileName Layout renders empty string (@snakefoot)
## Performance
- LogFactory - Faster initial assembly reflection and config loading (@snakefoot)
- ConsoleTarget - Added WriteBuffer option that allows batch writing to console-stream with reduced allocations (@snakefoot)
- ConsoleTarget - Added global lock to prevent any threadsafety issue from unsafe console (@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/
Dependencies
-
.NETFramework 3.5
- No dependencies.
-
.NETFramework 4.0 Client
- No dependencies.
-
.NETFramework 4.5
- No dependencies.
-
.NETStandard 1.3
- Microsoft.Extensions.PlatformAbstractions (>= 1.0.0)
- NETStandard.Library (>= 1.6.0)
- System.ComponentModel.Primitives (>= 4.1.0)
- System.ComponentModel.TypeConverter (>= 4.1.0)
- System.Data.Common (>= 4.1.0)
- System.Diagnostics.StackTrace (>= 4.0.1)
- System.Net.NameResolution (>= 4.0.0)
- System.Net.Requests (>= 4.0.11)
- System.Reflection.TypeExtensions (>= 4.1.0)
- System.Xml.XmlDocument (>= 4.0.1)
-
.NETStandard 1.5
- NETStandard.Library (>= 1.6.0)
- System.ComponentModel.Primitives (>= 4.1.0)
- System.ComponentModel.TypeConverter (>= 4.1.0)
- System.Data.Common (>= 4.1.0)
- System.Diagnostics.Process (>= 4.1.0)
- System.Diagnostics.StackTrace (>= 4.0.1)
- System.Diagnostics.TraceSource (>= 4.0.0)
- System.IO.FileSystem.Watcher (>= 4.0.0)
- System.Net.NameResolution (>= 4.0.0)
- System.Net.Requests (>= 4.0.11)
- System.Reflection.TypeExtensions (>= 4.1.0)
- System.Runtime.Loader (>= 4.0.0)
- System.Threading.Thread (>= 4.0.0)
- System.Xml.XmlDocument (>= 4.0.1)
-
.NETStandard 2.0
- No dependencies.
-
MonoAndroid 4.4
- No dependencies.
-
Silverlight 4.0
- No dependencies.
-
Silverlight 5.0
- No dependencies.
-
WindowsPhone 8.0
- No dependencies.
-
Xamarin.iOS 1.0
- No dependencies.
Used By
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, 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/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 (243)
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.8 | 3,598 | 2/25/2021 |
4.7.7 | 244,659 | 1/20/2021 |
4.7.6 | 650,122 | 12/6/2020 |
4.7.5 | 1,244,389 | 9/27/2020 |
4.7.4 | 1,229,361 | 8/22/2020 |
4.7.3 | 525,495 | 7/31/2020 |
4.7.2 | 3,174,548 | 5/18/2020 |
4.7.1 | 56,556 | 5/15/2020 |
4.7.0 | 2,108,766 | 3/20/2020 |
4.6.8 | 6,780,187 | 11/4/2019 |
4.6.7 | 5,481,545 | 8/25/2019 |
4.6.6 | 1,641,293 | 7/14/2019 |
4.6.5 | 2,094,813 | 6/14/2019 |
4.6.4 | 1,631,746 | 5/28/2019 |
4.6.3 | 1,426,520 | 4/30/2019 |
4.6.2 | 1,117,274 | 4/2/2019 |
4.6.1 | 156,470 | 3/29/2019 |
4.6.0 | 485,662 | 3/21/2019 |
4.5.11 | 7,263,955 | 11/6/2018 |
4.5.10 | 3,565,937 | 9/17/2018 |
4.5.9 | 1,012,705 | 8/24/2018 |
4.5.8 | 1,414,506 | 8/5/2018 |
4.5.7 | 753,928 | 7/19/2018 |
4.5.6 | 2,044,470 | 5/29/2018 |
4.5.5 | 511,726 | 5/25/2018 |
4.5.4 | 1,757,867 | 5/5/2018 |
4.5.3 | 988,446 | 4/16/2018 |
4.5.2 | 695,091 | 4/6/2018 |
4.5.1 | 212,218 | 4/3/2018 |
4.5.0 | 3,056,548 | 3/25/2018 |
4.4.13 | 581,017 | 2/27/2018 |
4.4.12 | 4,698,330 | 8/8/2017 |
4.4.11 | 1,175,452 | 6/17/2017 |
4.4.10 | 297,956 | 5/31/2017 |
4.4.9 | 785,976 | 5/5/2017 |
4.4.8 | 123,748 | 4/28/2017 |
4.4.7 | 90,681 | 4/25/2017 |
4.4.6 | 258,088 | 4/15/2017 |
4.4.5 | 358,575 | 3/28/2017 |
4.4.4 | 426,960 | 3/10/2017 |
4.4.3 | 580,476 | 2/17/2017 |
4.4.2 | 306,457 | 2/6/2017 |
4.4.1 | 899,519 | 12/24/2016 |
4.4.0 | 238,710 | 12/14/2016 |
4.3.11 | 805,218 | 11/7/2016 |
4.3.10 | 545,679 | 10/11/2016 |
4.3.9 | 398,198 | 9/18/2016 |
4.3.8 | 517,213 | 9/5/2016 |
4.3.7 | 488,673 | 8/6/2016 |
4.3.6 | 223,401 | 7/23/2016 |
4.3.5 | 715,115 | 6/12/2016 |
4.3.4 | 614,472 | 5/16/2016 |
4.3.3 | 301,715 | 4/28/2016 |
4.3.2 | 75,005 | 4/26/2016 |
4.3.1 | 93,996 | 4/20/2016 |
4.3.0 | 104,716 | 4/16/2016 |
4.2.3 | 1,233,260 | 12/20/2015 |
4.2.2 | 234,328 | 12/2/2015 |
4.2.1 | 218,169 | 11/21/2015 |
4.2.0 | 325,967 | 10/24/2015 |
4.1.2 | 590,218 | 9/20/2015 |
4.1.1 | 119,621 | 9/12/2015 |
4.1.0 | 165,762 | 8/31/2015 |
4.0.1 | 613,763 | 6/18/2015 |
4.0.0 | 665,460 | 6/9/2015 |
3.2.1 | 654,432 | 4/24/2015 |
3.2.0 | 1,147,804 | 1/2/2015 |
3.1.0 | 1,177,380 | 6/24/2014 |
3.0.0 | 184,251 | 6/2/2014 |
2.1.0 | 1,058,404 | 10/10/2013 |
2.0.1.2 | 655,799 | 4/8/2013 |
2.0.0.2000 | 1,114,573 | 7/18/2011 |
1.0.0.505 | 232,620 | 1/7/2011 |