NLog 4.6 RC1
Pre-release
Pre-release
304NotModified
released this
08 Feb 18:55
·
544 commits
to master
since this release
Features:
- #2363 + #2899 + #3085 + #3091 Database target: support for DbType for parameters (including SqlDbType) - (@hubo0831,@ObikeDev,@sorvis, @304NotModified, @snakefoot)
- #2610 AsyncTargetWrapper with LogEventDropped- + LogEventQueueGrow-events (@Pomoinytskyi)
- #2670 + #3014 XmlLayout - Render LogEventInfo.Properties as XML (@snakefoot)
- #2678 NetworkTarget - Support for SSL & TLS (@snakefoot)
- #2709 XML Config: Support for constant variable in level attributes (level, minlevel, etc) (@304NotModified)
- #2848 Added defaultAction for (@304NotModified)
- #2849 IRawValue-interface and ${db-null} layout renderer (@304NotModified)
- #2902 JsonLayout with support for System.Dynamic-objects (@304NotModified)
- #2907 New Substring, Left & Right Wrappers (@304NotModified)
- #3098 support for one or more '*' and '?' wildcards and in any position (@beppemarazzi)
- #2909 AsyncTaskTarget - BatchSize + RetryCount (@snakefoot)
- #3018 ColoredConsoleTarget - Added EnableAnsiOutput option (VS Code support) (@jp7677 + @snakefoot)
- #3031 + #3092 Support ${currentdir},${basedir},${tempdir} and Environment Variables for internalLogFile when parsing nlog.config (@snakefoot)
- #3050 Added IncludeGdc property in JsonLayout (@casperc89)
- #3071 ${HostName} Layout Renderer for full computer DNS name (@amitsaha)
- #3053 ${AppSetting} Layout Renderer (app.config + web.config) moved from NLog.Extended for NetFramework (@snakefoot)
- #3060 TargetWithContext - Support for PropertyType using IRawValue-interface (@snakefoot)
Enhancements:
- #2989 JsonLayout includes Type-property when rendering Exception-object (@snakefoot)
- #2891 LoggingConfigurationParser - Extracted from XmlLoggingConfiguration (Prepare for appsettings.json) (@snakefoot)
- #2910 Added support for complex objects in MDLC and NDLC on Net45 (@snakefoot)
- #2918 PerformanceCounter - Improve behavior for CPU usage calculation (@snakefoot)
- #2941 TargetWithContext - Include all properties even when duplicate names (@snakefoot)
- #2974 Updated resharper annotations for better validation (@imanushin)
- #2979 Improve default reflection support on NetCore Native (@snakefoot)
- #3017 EventLogTarget with better support for MaximumKilobytes configuration (@Coriolanuss)
- #3039 Added Xamarin PreserveAttribute for the entire Assembly to improve AOT-linking (@snakefoot)
- #3045 Create snupkg packages and use portable PDB (@snakefoot)
- #3048 KeepFileOpen + ConcurrentWrites on Xamarin + UWP - #3079 (@304NotModified)
- #3082 + #3100 WebService Target allow custom override of SoapAction-header for Soap11 (@AlexeyRokhin)
- Various refactorings (15 pull requests) (@beppemarazzi, @304NotModified, @snakefoot)
Performance:
- #2650 AsyncTargetWrapper using ConcurrentQueue for NetCore2 for better thread-concurrency (@snakefoot)
- #2890 AsyncTargetWrapper - TimeToSleepBetweenBatches changed default to 1ms (@snakefoot)
- #2897 InternalLogger performance optimization when LogLevel.Off (@snakefoot)
- #2935 InternalLogger LogLevel changes to LogLevel.Off by default unless being used. (@snakefoot)
- #2934 CsvLayout - Allocation optimizations and optional skip quoting-check for individual columns. (@snakefoot)
- #2949 MappedDiagnosticsLogicalContext - SetScoped with IReadOnlyList (Prepare for MEL BeginScope) (@snakefoot)
- #2973 IRenderString-interface to improve performance for Layout with single LayoutRenderer (@snakefoot)
- #3103 StringBuilderPool - Reduce memory overhead until required (@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
orOpenMappedContext
.
See also NLog 4.6 Milestone
Full changelog: https://github.com/NLog/NLog/blob/master/CHANGELOG.md