github NLog/NLog v4.6
NLog 4.6

latest releases: v5.3.2, v5.3.1, v5.3.0...
5 years ago

See https://nlog-project.org/2019/03/20/nlog-4-6-is-live.html

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)
  • IStringValueRenderer-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

Don't miss a new NLog release

NewReleases is sending notifications on new releases.