NLog v4.7.1 Release Notes
Release Date: 2020-05-15 // almost 4 years ago-
๐ Features
- #3871 LogManager.Setup().LoadConfigurationFromFile("NLog.config") added to fluent setup (@snakefoot + @304NotModified)
- #3909 LogManager.Setup().GetCurrentClassLogger() added to fluent setup (@snakefoot + @304NotModified)
- ๐ #3861 LogManager.Setup().SetupInternalLogger(s => s.AddLogSubscription()) added to fluent setup (@snakefoot + @304NotModified)
- #3891 ColoredConsoleTarget - Added Condition option to control when to do word-highlight (@snakefoot)
- #3915 Added new option CaptureStackTrace to ${stacktrace} and ${callsite} to skip implicit capture by Logger (@snakefoot)
- ๐ #3940 Exception-LayoutRenderer with new option BaseException for rendering innermost exception (@snakefoot)
๐ Improvements
- #3857 FileTarget - Batch write to filestream in max chunksize of 100 times BufferSize (@snakefoot)
- ๐ฒ #3867 InternalLogger include whether NLog comes from GlobalAssemblyCache when logging NLog version (@snakefoot)
- ๐ #3862 InternalLogger LogToFile now support ${processdir} to improve support for single-file-publish (@snakefoot)
- #3877 Added ${processdir} that matches ${basedir:processDir=true} for consistency with InternalLogger (@snakefoot)
- ๐ #3881 Object property reflection now support IReadOnlyDictionary as expando object (@snakefoot)
- #3884 InternalLogger include more details like FilePath when loading NLog.config file (@snakefoot)
- ๐ #3895 Added support for Nullable when doing conversion of property types (@304NotModified)
- โ #3896 InternalLogger Warnings when skipping unrecognized LayoutRenderer options (@snakefoot)
- #3901 MappedDiagnosticsLogicalContext - SetScoped with IReadOnlyList also for Xamarin (@snakefoot)
- #3904 Object property reflection automatically performs ToString for System.Reflection.Module (@snakefoot)
- ๐ง #3921 Improve ${basedir:fixtempdir=true} to work better on Linux when TMPDIR not set (@snakefoot)
- #3928 NetworkTarget respect MaxQueueSize for http- / https-protocol (@snakefoot)
- #3930 LogFactory.LoadConfiguration() reports searched paths when throwing FileNotFoundException (@304NotModified)
- ๐ง #3949 ReplaceNewLines-LayoutRenderer will also remove windows newlines on the Linux platform (@Silvenga)
๐ Bugfixes
- #3868 SplitGroup Target Wrapper should not skip remaining targets when single target fails (@snakefoot)
- #3918 ColoredConsoleTarget - Fix bug in handling of newlines without word-highlight (@snakefoot)
- #3941 ${processid} will no longer fail because unable to lookup ${processdir} on Mono Android (@snakefoot)
๐ Performance
- #3855 FileTarget - Skip checking file-length when only using ArchiveEvery (@snakefoot)
- #3898 ObjectGraphScanner performs caching of property reflection for NLog config items (@snakefoot)
- #3894 Condition expressions now handles operator like '==' without memory boxing (@snakefoot)
- #3903 ObjectGraphScanner should only check for layout-attributes on Layouts and LayoutRenderers (@snakefoot)
- ๐ #3902 MessageTemplate parsing of properties skips unnecessary array allocation (@snakefoot)