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

.NET Standard 1.5

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