github NLog/NLog v4.6-rc3
NLog 4.6 RC3

latest releases: v5.3.1, v5.3.0, v5.2.8...
pre-release5 years ago

Changes since RC2

Breaking

Oops, again a breaking change with the previous NLog 4.6 RC

  • Database target: dropped UseRawValue option on parameters (introduced in NLog 4.6 RC1), introduced ${myRenderer:noRawValue=true} (@snakefoot)

Note, there are no breaking changes with NLog 4.5.11. Semver is important!

All changes NLog 4.6

Features

Main Feature

XML config features

New targets, layouts and layout renderers

Additions to targets, layouts and layout renderers

Enhancements

  • JsonLayout includes Type-property when rendering Exception-object - #2989 (@snakefoot)
  • LoggingConfigurationParser - Extracted from XmlLoggingConfiguration - #2891 (Prepare for appsettings.json) (@snakefoot)
  • Added support for complex objects in MDLC and NDLC on Net45 - #2910 (@snakefoot)
  • PerformanceCounter - Improve behavior for CPU usage calculation - #2918 (@snakefoot)
  • TargetWithContext - Include all properties even when duplicate names - #2941 (@snakefoot)
  • Updated resharper annotations for better validation - #2974 (@imanushin)
  • Improve default reflection support on .NET Core Native - #2979 (@snakefoot)
  • EventLogTarget with better support for MaximumKilobytes configuration - #3017 (@Coriolanuss)
  • Added Xamarin PreserveAttribute for the entire Assembly to improve AOT-linking - #3039 (@snakefoot)
  • Create snupkg packages and use portable PDB - #3045 (@snakefoot)
  • KeepFileOpen + ConcurrentWrites on Xamarin + UWP - #3079 - #3048 (@304NotModified)
  • WebService Target allow custom override of SoapAction-header for Soap11 - #3082 + #3100 (@AlexeyRokhin)
  • Various refactorings (15 pull requests) (@beppemarazzi, @304NotModified, @snakefoot)

Performance

  • AsyncTargetWrapper using ConcurrentQueue for .NET Core 2 for better thread-concurrency - #2650 (@snakefoot)
  • AsyncTargetWrapper - TimeToSleepBetweenBatches changed default to 1ms - #2890 (@snakefoot)
  • InternalLogger performance optimization when LogLevel.Off - #2897 (@snakefoot)
  • InternalLogger LogLevel changes to LogLevel.Off by default unless being used. - #2935 (@snakefoot)
  • CsvLayout - Allocation optimizations and optional skip quoting-check for individual columns. - #2934 (@snakefoot)
  • MappedDiagnosticsLogicalContext - SetScoped with IReadOnlyList (Prepare for MEL BeginScope) - #2949 (@snakefoot)
  • IRenderString-interface to improve performance for Layout with single LayoutRenderer - #2973 (@snakefoot)
  • StringBuilderPool - Reduce memory overhead until required - #3103 (@snakefoot)

LibLog Breaking change

  • damianh/LibLog#181 - Sub-components using LibLog ver. 5.0.3 (or newer) will now use MDLC + NDLC (Instead of MDC + NDC) when detecting application is using NLog ver. 4.6. Make sure to update NLog.config to match this change. Make sure that all sub-components have upgraded to LibLog ver. 5.0.3 (or newer) if they make use of OpenNestedContext or OpenMappedContext.

See also NLog 4.6 Milestone

Full changelog: https://github.com/NLog/NLog/blob/master/CHANGELOG.md

Supported can be found on https://nlog-project.org/config/

Don't miss a new NLog release

NewReleases is sending notifications on new releases.