NLog 4.5.0

NLog is a logging platform for .NET with rich log routing and management capabilities.

Showing the top 20 packages that depend on NLog.

Packages Downloads
Castle.Core
Core of the castle project
6

NLog 4.5 adds structured logging and .NET Standard support/UPW without breaking changes! Also a lot features has been added!

List of important changes in NLog 4.5

Features:

  • Support for .Net Standard 2.0 [#2263] + [#2402] (@snakefoot)
  • Support for .Net Standard 1.5 [#2341] (@snakefoot)
  • Support for .Net Standard 1.3 (and UWP) [#2441] + [#2597] (Remember to manually flush on app suspend). (@snakefoot)
  • Introduced Structured logging [#2208] + [#2262] + [#2244] + [#2544] (@snakefoot, @304NotModified, @jods4, @nblumhardt) - see https://github.com/NLog/NLog/wiki/How-to-use-structured-logging
  • Json conversion also supports object properties [#2179], [#2555] (@snakefoot, @304NotModified)
  • event-properties layout-renderer can now render objects as json [#2241] (@snakefoot, @304NotModified)
  • exception layout-renderer can now render exceptions as json [#2357] (@snakefoot)
  • Default file archive logic is now easier to use [#1993] (@snakefoot)
  • Introduced InstallationContext.ThrowExceptions [#2214] (@rbarillec)
  • WebServiceTarget - Allow configuration of proxy address [#2375] (@snakefoot)
  • WebServiceTarget - JsonPost with JsonLayout without being wrapped in parameter [#2590] (@snakefoot)
  • $, added GeneratedFromLogEvent [#2226] (@snakefoot)
  • TraceTarget RawWrite to always perform Trace.WriteLine independent of LogLevel [#1968] (@snakefoot)
  • Adding OverflowAction options to BufferingTargetWrapper [#2276] (@mikegron)
  • WhenRepeatedFilter - Filtering of identical LogEvents [#2123] + [#2297] (@snakefoot)
  • $ added CleanNamesOfAsyncContinuations option [#2292] (@tkhaugen, @304NotModified)
  • $ allows timing of ndlc-scopes [#2377] (@snakefoot)
  • NLogViewerTarget - Enable override of the Logger-name [#2390] (@snakefoot)
  • $ added [#2411] (@MikeFH)
  • Added "regex-matches" for filtering [#2437] (@MikeFH)
  • $, $ & - Support Format parameter [#2500] (@snakefoot)
  • $ added [#2491] (@UgurAldanmaz)
  • $: add type (File, Assembly, Informational) option [#2487] (@alexangas)
  • FileTarget: Support byte order mark [#2456] (@KYegres)
  • TargetWithContext - Easier to create custom NLog targets with support for MDLC and NDLC [#2467] (@snakefoot)
  • $ - Without line number [#2591] (@brunotag)
  • MDC + MDLC with SetScoped property support [#2592] (@MikeFH)
  • LoggingConfiguration AddRule includes final-parameter [#2612] (@893949088)

BugFixes:

  • Improve archive stability during concurrent file access [#1889] (@snakefoot)
  • FallbackGroup could lose log events [#2265] (@frabar666)
  • $ - only include separator when items are available [#2257] (@jojosardez)
  • LogFactory - Fixes broken EventArgs for ConfigurationChanged [#1897] (@snakefoot)
  • Do not report wrapped targets as unused targets [#2290] (@thesmallbang)
  • Added IIncludeContext, implemented missing properties [#2117] (@304NotModified)
  • Improve logging of callsite linenumber for async-methods [#2386] (@snakefoot)
  • NLogTraceListener - DisableFlush is enabled by default when AutoFlush=true [#2407] (@snakefoot)
  • NLogViewer - Better defaults for connection limits [#2404] (@304NotModified)
  • LoggingConfiguration.LoggingRules is not thread safe [#2393], [#2418]
  • Fix XmlLoggingConfiguration reloading [#2475] (@snakefoot)
  • Database Target now supports EntityFramework ConnectionStrings [#2510] (@Misiu, @snakefoot)
  • LoggingConfiguration.RemoveTarget now works while actively logging [#2549] (@jojosardez, @snakefoot)
  • FileTarget does not fail on platforms without global mutex support [#2604] (@snakefoot)
  • LoggingConfiguration does not fail when AutoReload is not possible on the platforms without FileWatcher [#2603] (@snakefoot)

Performance:

  • More targets has OptimizeBufferReuse enabled by default [#1913] + [#1923] + [#1912] + [#1911] + [#1910] + [#1909] + [#1908] + [#1907] + [#2560] (@snakefoot)
  • StringBuilderPool - Improved Layout Render Performance by reusing StringBuilders [#2208] (@snakefoot)
  • JsonLayout - Improved Layout Performance, by optimizing use of StringBuilder [#2208] (@snakefoot)
  • FileTarget - Faster byte-encoding of log messsages, by using crude Encoding.GetMaxByteCount() instead of exact Encoding.GetByteCount() [#2208] (@snakefoot)
  • Target - Precalculate Layout should ignore sub-layouts for complex layout (Ex Json) [#2378] (@snakefoot)
  • MessageLayoutRenderer - Skip string.Format allocation (for caching) when writing to a single target, instead format directly into output buffer. [#2507] (@snakefoot)

for full list, see https://github.com/NLog/NLog/blob/master/CHANGELOG.md

for what is supported in each platform, see https://github.com/NLog/NLog/wiki/platform-support

.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
6.0.4 3 09/19/2025
6.0.3 2 09/19/2025
6.0.2 3 07/31/2025
6.0.1 3 07/31/2025
6.0.0 2 09/19/2025
6.0.0-rc4 3 07/31/2025
6.0.0-rc3 4 07/24/2025
6.0.0-rc2 4 06/03/2025
6.0.0-rc1 4 06/03/2025
6.0.0-preview1 4 06/03/2025
5.5.1 2 09/19/2025
5.5.0 3 06/04/2025
5.4.0 5 02/27/2025
5.3.4 5 02/27/2025
5.3.3 4 02/27/2025
5.3.2 5 02/27/2025
5.3.1 5 02/27/2025
5.2.8 6 02/27/2025
5.2.7 5 02/27/2025
5.2.6 5 02/27/2025
5.2.5 4 02/27/2025
5.2.4 5 02/27/2025
5.2.3 5 02/27/2025
5.2.2 4 02/27/2025
5.2.1 5 02/27/2025
5.2.0 5 02/27/2025
5.1.5 4 02/27/2025
5.1.4 5 02/27/2025
5.1.3 5 02/27/2025
5.1.2 5 02/27/2025
5.1.1 4 02/27/2025
5.1.0 5 02/27/2025
5.0.5 4 02/27/2025
5.0.4 5 02/27/2025
5.0.3 5 02/27/2025
5.0.2 5 02/27/2025
5.0.1 5 02/27/2025
5.0.0 4 02/27/2025
4.7.15 4 02/27/2025
4.7.14 4 02/27/2025
4.7.13 4 02/27/2025
4.7.12 4 02/27/2025
4.7.11 4 02/27/2025
4.7.10 4 02/27/2025
4.7.9 5 02/27/2025
4.7.8 5 02/27/2025
4.7.7 4 02/27/2025
4.7.6 5 02/27/2025
4.7.5 5 02/27/2025
4.7.4 4 02/27/2025
4.7.3 5 02/27/2025
4.7.2 5 02/27/2025
4.7.1 5 02/27/2025
4.7.0 6 02/27/2025
4.6.8 5 02/27/2025
4.6.7 5 02/27/2025
4.6.6 4 02/27/2025
4.6.5 5 02/27/2025
4.6.4 4 02/27/2025
4.6.3 5 02/27/2025
4.6.2 5 02/27/2025
4.6.1 5 02/27/2025
4.6.0 6 02/27/2025
4.5.11 4 02/27/2025
4.5.10 4 02/27/2025
4.5.9 5 02/27/2025
4.5.8 5 02/27/2025
4.5.7 5 02/27/2025
4.5.6 5 02/27/2025
4.5.5 4 02/27/2025
4.5.4 4 02/27/2025
4.5.3 5 02/27/2025
4.5.2 5 02/27/2025
4.5.1 5 02/27/2025
4.5.0 5 02/27/2025
4.4.13 4 02/27/2025
4.4.12 4 02/27/2025
4.4.11 4 02/27/2025
4.4.10 4 02/27/2025
4.4.9 4 02/27/2025
4.4.8 4 02/27/2025
4.4.7 4 02/27/2025
4.4.6 4 02/27/2025
4.4.5 4 02/27/2025
4.4.4 4 02/27/2025
4.4.3 4 02/27/2025
4.4.2 4 02/27/2025
4.4.1 4 02/27/2025
4.4.0 4 02/27/2025
4.3.11 4 02/27/2025
4.3.10 4 02/27/2025
4.3.9 5 02/27/2025
4.3.8 5 02/27/2025
4.3.7 6 02/27/2025
4.3.6 5 02/27/2025
4.3.5 5 02/27/2025
4.3.4 4 02/27/2025
4.3.3 4 02/27/2025
4.3.2 5 02/27/2025
4.3.1 5 02/27/2025
4.3.0 5 02/27/2025
4.2.3 5 02/27/2025
4.2.2 4 02/27/2025
4.2.1 5 02/27/2025
4.2.0 5 02/27/2025
4.1.2 6 02/27/2025
4.1.1 4 02/27/2025
4.1.0 5 02/27/2025
4.0.1 5 02/27/2025
4.0.0 4 02/27/2025
3.2.1 5 02/27/2025
3.2.0 4 02/27/2025
3.1.0 4 02/27/2025
3.0.0 4 02/27/2025
2.1.0 5 02/27/2025
2.0.1.2 4 02/27/2025
2.0.0.2000 4 02/27/2025
1.0.0.505 5 02/27/2025