NLog 4.7.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: https://www.nuget.org/packages/NLog.Web.AspNetCore
Showing the top 20 packages that depend on NLog.
Packages | Downloads |
---|---|
LynxChess.Lynx
Lynx chess engine
|
73 |
LynxChess.Lynx
Lynx chess engine
|
61 |
LynxChess.Lynx
Lynx chess engine
|
45 |
LynxChess.Lynx.Internal
Lynx chess engine
|
35 |
LynxChess.Lynx
Lynx chess engine
|
27 |
LynxChess.Lynx
Lynx chess engine
|
8 |
LynxChess.Lynx
Lynx chess engine
|
7 |
Splat.NLog
A library to make things cross-platform that should be.
|
6 |
LynxChess.Lynx
Lynx chess engine
|
6 |
## Bugfixes
- LogFactory - Fix deadlock issue with AutoReload (@snakefoot)
- JsonLayout - Fixed ThreadAgnostic to correctly capture context when using nested JsonLayout (@snakefoot)
- ExceptionLayoutRenderer - Fixed so Format option HResult also works for NetCore (@snakefoot)
- Log4JXml Layout - Render NDLC + NDC scopes in correct order (@adanek + @304NotModified)
- Logger - Added exception handler for CallSite capture for platform that fails to capture StackTrace (@snakefoot)
- StringSplitter - Fixed quote handling when reading elements for config list-properties (@snakefoot)
- Utilities: fix ConversionHelpers.TryParseEnum for white space (@304NotModified)
## Features
- LogManager.Setup() allows fluent configuration of LogFactory options (@snakefoot + @304NotModified)
- LogManager.Setup().SetupSerialization(s => s.RegisterObjectTransformation(...)) for overriding default property reflection (@snakefoot + @304NotModified + @Giorgi + @mmurrell)
- LogManager.Setup().SetupSerialization(s => s.RegisterConditionMethod(...)) can use lambda methods and not just static methods (@snakefoot)
- ${level:format=FullName} will expand Info + Warn to their full name (@snakefoot)
- FileTarget - Supports MaxArchiveDays for cleanup of old files based on their age (@snakefoot)
- Layout.FromMethod to create Layout directly from a lambda method (@snakefoot)
- Layout.FromString to create Layout directly from string along with optional parser validation (@snakefoot)
- ${dir-separator} for rendering platform specific directory path separator (@304NotModified)
- FileTarget - Supports ArchiveOldFileOnStartupAboveSize for cleanup of existing file when above size (@Sam13)
- InternalLogger - Added LogMessageReceived event (@304NotModified)
- DatabaseTarget - Assign connection properties like SqlConnection.AccessToken (@304NotModified + @snakefoot)
- DatabaseTarget - Assign command properties like SqlCommand.CommandTimeout (@snakefoot)
- ${onHasProperties} for only rendering when logevent includes properties from structured logging (@snakefoot)
## Improvements
- XmlLoggingConfiguration - Marked legacy constructors with ignoreErrors parameter as obsolete (@snakefoot)
- LoggingConfiguration - Perform checking of unused targets during initialization for better validation (@snakefoot)
- EventLogTarget - Improve diagnostics logging when using dynamic EventLog source (@snakefoot)
- ${longdate} now also supports raw value for use as DatabaseTarget parameter with DbType (@snakefoot)
- SourceLink for GitHub for easy debugging into the NLog source code (@304NotModified)
- JsonLayout - EscapeForwardSlash now automatically applies to sub-attributes (@snakefoot)
- TraceTarget - Introduced EnableTraceFail=false to avoid Environment.FailFast (@snakefoot)
- ExceptionLayoutRenderer - Improved error message when Format-token parsing fails (@snakefoot)
- AutoFlushWrapper - Set AutoFlush=false for AsyncTaskTarget by default (@snakefoot)
- LocalIpAddressLayoutRenderer - Higher priority to network-addresses that has valid gateway adddress (@snakefoot)
- LogFactory - Flush reports to InternalLogger what targets produces timeouts (@snakefoot)
## Performance
- ObjectGraphScanner - Avoid holding list.SyncRoot lock while scanning (@snakefoot)
- FileTarget - ConcurrentWrites=true on NetCore now much faster when archive enabled (@snakefoot)
- JsonConverter - Write DateTime directly without string allocation (@snakefoot)
- XmlLayout - Removed unnecessary double conversion to string (@snakefoot)
- WebServiceTarget - Reduced memory allocations by removing unnecessary delegate capture (@snakefoot)
- NetworkTarget - Reduced memory allocation for encoding into bytes without string allocation (@snakefoot)
- AsyncTaskTarget - Skip default AsyncWrapper since already having internal queue (@snakefoot)
- Mark Condition Expressions as ThreadSafe to improve concurrency in Layouts (@snakefoot)
- DatabaseTarget - Added IsolationLevel option that activates transactions for better batching performance (@snakefoot)
- SimpleLayout - Assignment of string-reference with null-value will translate into FixedText (@304NotModified)
- AsyncWrapper - Less aggressive with scheduling timer events for background writing (@snakefoot)
- Faster assignment of properties accessed through reflection (@304NotModified)
- ${replace} - Faster search and replace when not explicitly have requested regex support (@snakefoot)
- Skip need for Activator.CreateInstance in DbTypeSetter (@304NotModified)
Full changelog: https://github.com/NLog/NLog/blob/master/CHANGELOG.md
For all config options and platform support, check https://nlog-project.org/config/
.NET Framework 3.5
- No dependencies.
.NET Framework 4.0
- No dependencies.
.NET Framework 4.5
- No dependencies.
.NET Standard 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)
.NET Standard 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)
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.
.NET Standard 2.0
- No dependencies.
Version | Downloads | Last updated |
---|---|---|
5.3.4 | 75 | 09/16/2024 |
5.3.3 | 51 | 08/17/2024 |
5.3.2 | 97 | 05/25/2024 |
5.3.1 | 6 | 04/29/2024 |
5.2.8 | 6 | 03/31/2024 |
5.2.7 | 4 | 04/17/2024 |
5.2.6 | 4 | 04/29/2024 |
5.2.5 | 4 | 04/29/2024 |
5.2.4 | 4 | 04/29/2024 |
5.2.3 | 5 | 04/20/2024 |
5.2.2 | 3 | 04/29/2024 |
5.2.1 | 4 | 04/29/2024 |
5.2.0 | 3 | 04/29/2024 |
5.1.5 | 4 | 04/29/2024 |
5.1.4 | 3 | 04/29/2024 |
5.1.3 | 3 | 04/29/2024 |
5.1.2 | 7 | 04/29/2024 |
5.1.1 | 4 | 04/29/2024 |
5.1.0 | 6 | 04/03/2024 |
5.0.5 | 5 | 04/29/2024 |
5.0.4 | 4 | 04/29/2024 |
5.0.3 | 6 | 04/29/2024 |
5.0.2 | 4 | 04/29/2024 |
5.0.1 | 3 | 04/29/2024 |
5.0.0 | 4 | 04/29/2024 |
4.7.15 | 3 | 04/29/2024 |
4.7.14 | 5 | 04/29/2024 |
4.7.13 | 4 | 04/29/2024 |
4.7.12 | 4 | 04/29/2024 |
4.7.11 | 4 | 04/29/2024 |
4.7.10 | 5 | 04/29/2024 |
4.7.9 | 4 | 04/29/2024 |
4.7.8 | 5 | 04/13/2024 |
4.7.7 | 4 | 04/21/2024 |
4.7.6 | 4 | 04/29/2024 |
4.7.5 | 3 | 04/29/2024 |
4.7.4 | 4 | 04/29/2024 |
4.7.3 | 6 | 04/29/2024 |
4.7.2 | 3 | 04/29/2024 |
4.7.1 | 4 | 04/29/2024 |
4.7.0 | 7 | 04/04/2024 |
4.6.8 | 4 | 04/29/2024 |
4.6.7 | 4 | 04/29/2024 |
4.6.6 | 3 | 04/29/2024 |
4.6.5 | 4 | 04/29/2024 |
4.6.4 | 4 | 04/29/2024 |
4.6.3 | 5 | 04/29/2024 |
4.6.2 | 5 | 04/29/2024 |
4.6.1 | 4 | 04/29/2024 |
4.6.0 | 6 | 04/29/2024 |
4.5.11 | 4 | 04/29/2024 |
4.5.10 | 4 | 04/29/2024 |
4.5.9 | 3 | 04/29/2024 |
4.5.8 | 4 | 04/29/2024 |
4.5.7 | 4 | 04/29/2024 |
4.5.6 | 3 | 04/29/2024 |
4.5.5 | 4 | 04/29/2024 |
4.5.4 | 6 | 04/29/2024 |
4.5.3 | 5 | 04/29/2024 |
4.5.2 | 4 | 04/29/2024 |
4.5.1 | 4 | 04/29/2024 |
4.5.0 | 3 | 04/29/2024 |
4.4.13 | 4 | 04/29/2024 |
4.4.12 | 4 | 04/29/2024 |
4.4.11 | 3 | 04/29/2024 |
4.4.10 | 3 | 04/29/2024 |
4.4.9 | 3 | 04/29/2024 |
4.4.8 | 4 | 04/29/2024 |
4.4.7 | 4 | 04/08/2024 |
4.4.6 | 3 | 04/29/2024 |
4.4.5 | 5 | 04/29/2024 |
4.4.4 | 3 | 04/29/2024 |
4.4.3 | 6 | 04/29/2024 |
4.4.2 | 4 | 04/29/2024 |
4.4.1 | 3 | 04/29/2024 |
4.4.0 | 3 | 04/29/2024 |
4.3.11 | 4 | 04/29/2024 |
4.3.10 | 5 | 04/10/2024 |
4.3.9 | 3 | 04/29/2024 |
4.3.8 | 3 | 04/29/2024 |
4.3.7 | 3 | 04/29/2024 |
4.3.6 | 3 | 04/29/2024 |
4.3.5 | 3 | 04/29/2024 |
4.3.4 | 4 | 04/29/2024 |
4.3.3 | 3 | 04/29/2024 |
4.3.2 | 3 | 04/29/2024 |
4.3.1 | 4 | 04/29/2024 |
4.3.0 | 3 | 04/29/2024 |
4.2.3 | 3 | 04/29/2024 |
4.2.2 | 5 | 04/29/2024 |
4.2.1 | 4 | 04/29/2024 |
4.2.0 | 5 | 04/29/2024 |
4.1.2 | 3 | 04/29/2024 |
4.1.1 | 3 | 04/29/2024 |
4.1.0 | 4 | 04/13/2024 |
4.0.1 | 3 | 04/29/2024 |
4.0.0 | 3 | 04/29/2024 |
3.2.1 | 6 | 04/29/2024 |
3.2.0 | 5 | 04/29/2024 |
3.1.0 | 5 | 04/29/2024 |
3.0.0 | 4 | 04/29/2024 |
2.1.0 | 4 | 04/29/2024 |
2.0.1.2 | 3 | 04/29/2024 |
2.0.0.2000 | 4 | 04/29/2024 |
1.0.0.505 | 4 | 04/29/2024 |