NLog v5.0-RC2 Release Notes

Release Date: 2022-01-19 // 4 months ago
  • ๐Ÿ”‹ Features

    • #4761 LogFactory fluent Setup with AddCallSiteHiddenAssembly (#4761) (@snakefoot)
    • โšก๏ธ #4757 Updated JetBrains Annotations with StructuredMessageTemplateAttribute (#4757) (@snakefoot)
    • #4754 JsonArrayLayout - Render LogEvent in Json-Array format (#4754) (@snakefoot)
    • #4613 Added LogFactory.ReconfigureExistingLoggers with purgeObsoleteLoggers option (#4613) (@sjafarianm)
    • #4711 Added WithProperties-method for Logger-class (#4711) (@simoneserra93)

    ๐Ÿ‘Œ Improvements

    • โšก๏ธ #4730 MemoryTarget - Updated to implement TargetWithLayoutHeaderAndFooter (#4730) (@snakefoot)
    • โšก๏ธ #4730 TraceTarget - Updated to implement TargetWithLayoutHeaderAndFooter (#4730) (@snakefoot)
    • ๐Ÿ“œ #4717 DatabaseTarget - Improved parsing of DbType (#4717) (@Orace)

Previous changes from v5.0-RC1

  • ๐Ÿ”‹ Features

    • #4662 LogFactory Setup fluent with SetupLogFactory for general options (#4662) (@snakefoot)
    • #4648 LogFactory fluent Setup with FilterDynamicIgnore + FilterDynamicLog (#4648) (@snakefoot)
    • ๐Ÿ‘ #4642 TargetWithContext - Added support for ExcludeProperties (#4642) (@snakefoot)

    ๐Ÿ‘Œ Improvements

    • ๐Ÿ‘ #4656 FallbackGroupTarget - Added support for EnableBatchWrite (#4656) (@snakefoot)
    • #4655 JsonLayout - ExcludeProperties should also handle IncludeScopeProperties (#4655) (@snakefoot)
    • 0๏ธโƒฃ #4645 TargetWithContext - IncludeEmptyValue false by default (#4645) (@snakefoot)
    • #4646 PropertiesDictionary - Generate unique message-template-names on duplicate keys (#4646) (@snakefoot)
    • ๐Ÿ“š #4661 LoggingRule - Fix XML documentation (#4661) (@GitHubPang)
    • ๐Ÿ›  #4671 Fixed RegisterObjectTransformation to handle conversion to simple values (#4671) (@snakefoot)
    • ๐Ÿ‘ #4669 LogLevel - Replaced IConvertible with IFormattable for better Json output (#4669) (@snakefoot)
    • โšก๏ธ #4676 NLog.Wcf - Updated nuget dependencies to System.ServiceModel ver. 4.4.4 (#4676) (@snakefoot)
    • ๐Ÿง #4675 FileTarget - Improve fallback logic when running on Linux without File BirthTIme (#4675) (@snakefoot)
    • ๐Ÿ‘ #4680 FileTarget - Better handling of relative paths with FileSystemWatcher (#4680) (@snakefoot)
    • #4689 Renamed AppSettingLayoutRenderer2 to AppSettingLayoutRenderer after removing NLog.Extended (#4689) (@snakefoot)
    • #4563 Added alias ToUpper and ToLower as alternative to UpperCase and LowerCase (#4563) (@snakefoot)
    • ๐Ÿ“œ #4695 Ignore dash (-) when parsing layouts, layoutrenderers and targets (#4695) (@304NotModified)
    • #4713 Logger SetProperty marked as obsolete, instead use WithProperty or the unsafe Properties-property (#4713) (@snakefoot)
    • #4714 Hide obsolete methods from intellisense (#4714) (@snakefoot)

    ๐ŸŽ Performance

    • #4672 PaddingLayoutRendererWrapper - Pad operation with reduced string allocation (#4672) (@snakefoot)
    • #4698 FileTarget - Use Environment.TickCount to trigger File.Exists checks (#4698) (@snakefoot)
    • ๐ŸŽ #4699 AsyncTargetWrapper - Fix performance for OverflowAction Block on NetCore (#4699) (@snakefoot)
    • ๐Ÿ‘ฏ #4705 LogEventInfo - Faster clone of messageTemplateParameters by caching Count (#4705) (@snakefoot)