All Versions
108
Latest Version
Avg Release Cycle
47 days
Latest Release
43 days ago

Changelog History
Page 1

  • v5.0.5 Changes

    October 26, 2022

    ๐Ÿ‘Œ Improvements

    • ๐ŸŒฒ #5092 InternalLogger - LogFile expand filepath variables (#5092) (@RyanGaudion)
    • ๐Ÿ‘ #5090 ReplaceNewLines - Support Replacement with newlines (#5090) (@Orace)
    • #5086 ScopeIndent LayoutRenderer (#5086) (@snakefoot)
    • #5085 Introduced TriLetter as LevelFormat (Trc, Dbg, Inf, Wrn, Err, Ftl) (#5085) (@snakefoot)
    • ๐Ÿ‘ #5078 LogFactory.Setup - Added support for RegisterLayout and validate NLog types (#5078) (@snakefoot)
    • โœ… #5076 AutoFlushTargetWrapper - Fix race-condition that makes unit-tests unstable (#5076) (@snakefoot)
    • ๐Ÿ‘ป #5073 Include error-message from inner-exception when layout contains unknown layoutrenderer (#5073) (@snakefoot)
    • #5065 ObjectReflectionCache - Skip serializing System.Net.IPAddress (#5065) (@snakefoot)
    • #5060 ObjectReflectionCache - Skip reflection of delegate-objects (#5060) (@snakefoot)
    • #5057 OnException + OnHasProperties - Added Else-option (#5057) (@snakefoot)
    • ๐ŸŒฒ #5056 LogEventBuilder - Added Log(Type wrapperType) for custom Logger wrapper (#5056) (@snakefoot)
  • v5.0.4 Changes

    September 01, 2022

    ๐Ÿ›  Fixes

    • ๐Ÿ›  #5051 Fixed embedded resource with ILLink.Descriptors.xml to avoid IL2007 (#5051) (@snakefoot)
  • v5.0.3 Changes

    September 01, 2022

    ๐Ÿ‘Œ Improvements

    • #5034 Added embedded resource with ILLink.Descriptors.xml to skip AOT (#5034) (@snakefoot)
    • #5035 Layout Typed that can handle LogEventInfo is null (#5035) (@snakefoot)
    • #5036 JsonLayout - Fix output for Attributes with IncludeEmptyValue=false and Encode=false (#5036) (@snakefoot)
  • v5.0.2 Changes

    August 12, 2022

    ๐Ÿ‘Œ Improvements

    • ๐Ÿ›  #5019 Layout Typed validates fixed values upfront at config initialization, instead of when logging (#5019) (@snakefoot)
    • ๐Ÿšš #5026 Removed obsolete dependency Microsoft.Extensions.PlatformAbstractions (#5026) (@snakefoot)
    • #5016 WebServiceTarget - Verifies Url as RequiredParameter (#5016) (@snakefoot)
    • #5014 WebServiceTarget - Improve InternalLogging when Url is invalid (#5014) (@snakefoot)
    • #5010 GlobalDiagnosticsContext - Implicit caching of value lookup (#5010) (@snakefoot)
    • 0๏ธโƒฃ #5004 EventLogTarget - Bump default MaxMessageLength to 30000 to match limit in Win2008 (#5004) (@snakefoot)
    • ๐Ÿ‘ #4995 Support UniversalTime = false when NLog time-source is UTC (#4995) (@snakefoot)
    • ๐Ÿ”ง #4987 ConfigurationItemFactory - Include original type-alias when CreateInstance fails (#4987) (@snakefoot)
    • 0๏ธโƒฃ #4981 AssemblyVersionLayoutRenderer - Support override of Default value (#4981) (@snakefoot)
    • #4976 LoggingConfiguration - AddRule with overload for LoggingRule object (#4976) (@tvogel-nid)
  • v5.0.1 Changes

    June 12, 2022

    ๐Ÿ‘Œ Improvements

    • ๐Ÿ“œ #4938 LoggingConfigurationParser should alert when LoggingRule filters are bad (#4938) (@snakefoot)
    • #4940 CompoundLayout with layout from config variable (#4940) (@snakefoot)
    • โ†ช #4944 Mark Target LayoutWithLock as obsolete, since only temporary workaround (#4944) (@snakefoot)
    • #4950 FileTarget - First acquire file-handle to compress before creating zip-file (#4950) (@snakefoot)
    • #4953 FileTarget - Zip compression should not truncate when zip-file already exists (#4953) (@snakefoot)
    • #4965 Max StackTraceUsage should be computed using bitwise OR (#4965) (@martinzding)
    • ๐Ÿ“š #4963 Improved source-code documentation by fixing spelling errors (#4963) (@KurnakovMaksim)
  • v5.0 Changes

    May 16, 2022

    ๐Ÿ‘€ See List of major changes in NLog 5.0.

    ๐Ÿ‘Œ Improvements

    • #4922 NetworkTarget - Dual Mode IPv4 mapped addresses over IPv6 (#4922) (@snakefoot)
    • #4895 LogManager.Setup().LoadConfigurationFromAssemblyResource() can load config from embedded resource (#4895) (@snakefoot)
    • #4893 NetworkTarget - Reduce memory allocations in UdpNetworkSender (#4893) (@snakefoot)
    • 0๏ธโƒฃ #4891 + #4924 Log4JXmlEventLayoutRenderer - IncludeEventProperties default = true (#4891 + #4924) (@snakefoot)
    • ๐Ÿ‘ #4887 NetworkTarget - Support Compress = GZip for UDP with GELF to GrayLog (#4887) (@snakefoot)
    • โšก๏ธ #4882 Updated dependencies for NetStandard1.x to fix warnings (#4882) (@snakefoot)
    • ๐Ÿ‘ #4877 CounterLayoutRenderer - Support 64 bit integer and raw value (#4877) (@snakefoot)
    • ๐Ÿ #4867 WindowsIdentityLayoutRenderer - Dispose WindowsIdentity after use (#4867) (@snakefoot)
    • ๐Ÿ“œ #4863 + #4868 Support SpecialFolder UserApplicationDataDir for internalLogFile when parsing nlog.config (#4863 + #4868) (@snakefoot)
    • #4859 RetryingTargetWrapper - Changed RetryCount and RetryDelay to typed Layout (#4859) (@snakefoot)
    • #4858 BufferingTargetWrapper - Changed BufferSize + FlushTimeout to typed Layout (#4858) (@snakefoot)
    • #4857 LimitingTargetWrapper - Changed MessageLimit + Interval to typed Layout (#4857) (@snakefoot)
    • #4838 Added various null checks to improve code quality (#4838) (@KurnakovMaksim)
    • ๐Ÿ›  #4835 Fixed missing initialization of layout-parameters for ConditionMethodExpression (#4835) (@snakefoot)
    • #4824 LogFactory - Avoid checking candidate NLog-config files for every Logger created (#4824) (@snakefoot)
    • โœ… #4823 Improve InternalLogger output when testing candidate config file locations (#4823) (@snakefoot)
    • #4819 Improve loading of AppName.exe.nlog with .NET6 single file publish (#4819) (@snakefoot)
    • ๐Ÿ‘€ #4812 Translate ConditionParseException into NLogConfigurationException (#4812) (@snakefoot)
    • #4809 NLogConfigurationException - Improve styling of error-message when failing to assign property (#4809) (@snakefoot)
    • #4808 NLogRuntimeException constructor with string.Format marked obsolete (#4808) (@snakefoot)
    • #4807 NLogConfigurationException constructor with string.Format marked obsolete (#4807) (@snakefoot)
    • #4789 FallbackGroupTarget - Improve InternalLogger output when no more fallback (#4789) (@snakefoot)
    • #4788 NetworkTarget - Report to InternalLogger at Debug-level when discarding huge LogEvents (#4788) (@snakefoot)
    • #4787 Added extra JetBrains Annotations with StructuredMessageTemplateAttribute (#4787) (@snakefoot)
    • #4785 Improve InternalLogger output for unnamed nested wrapper targets (#4785) (@snakefoot)
    • #4784 Improve InternalLogger output for named nested wrapper targets (#4784) (@snakefoot)
    • ๐Ÿšš #4777 DatabaseTarget - Removed alias DB to avoid promoting acronyms (#4777) (@snakefoot)
    • #4776 LoggingRule - Allow FinalMinLevel to override previous rules (#4776) (@snakefoot)
    • โช #4775 InternalLogger IncludeTimestamp = true by default to restore original behavior (#4775) (@snakefoot)
    • ๐Ÿ“„ #4773 Fix xml-docs and replaced broken link config.html with wiki-link (#4773) (@snakefoot)
    • #4772 Improve InternalLogger output when queue OnOverflow (#4772) (@snakefoot)
    • โšก๏ธ #4770 LogFactory DefaultCultureInfo-setter should also update active config (#4770) (@snakefoot)
  • v5.0-RC2 Changes

    January 19, 2022

    ๐Ÿ”‹ 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)
  • v5.0-RC1 Changes

    December 20, 2021

    ๐Ÿ”‹ 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)
  • v5.0-Preview Changes

    October 02, 2021

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  #4533 Fixed validation of nlog-element when using include-files (#4533) (@snakefoot)
    • ๐Ÿ”ง #4555 Fixed validation of nlog-element when nested within configuration-element (#4555) (@snakefoot)

    ๐Ÿ”‹ Features

    • 0๏ธโƒฃ #4542 NetworkTarget - Added OnQueueOverflow with default Discard (#4542) (@snakefoot)

    ๐Ÿ‘Œ Improvements

    • #4544 ScopeContext - Renamed IncludeScopeNestedStates to IncludeScopeNested for consistency (#4544) (@snakefoot)
    • #4545 ScopeContext - Renamed PushScopeState to PushScopeNested for consistency (#4545) (@snakefoot)
    • #4556 NetworkTarget - Explicit assigning LineEnding activates NewLine automatically (#4556) (@snakefoot)
    • #4549 NetworkTarget - UdpNetworkSender changed to QueuedNetworkSender with correct message split (#4549) (@snakefoot)
    • 0๏ธโƒฃ #4542 NetworkTarget - Changed OnConnectionOverflow to discard by default (#4542) (@snakefoot)
    • ๐Ÿ“œ #4564 Fixed LayoutParser so Typed Layout works for LayoutRenderer (#4564) (@snakefoot)
    • 0๏ธโƒฃ #4580 LayoutRenderer and Layout are now always threadsafe by default (#4580) (@snakefoot)
    • #4586 ScopeTiming - No Format specified renders TimeSpan.TotalMilliseconds (#4586) (@snakefoot)
    • ๐Ÿ‘ #4583 ExceptionLayoutRenderer - Separator with basic layout support (#4583) (@snakefoot)
    • ๐Ÿ‘ #4588 StackTraceLayoutRenderer - Separator with basic layout support (#4588) (@snakefoot)
    • ๐Ÿ‘ #4589 ScopeNestedLayoutRenderer - Separator with basic layout support (#4589) (@snakefoot)
  • v4.7.15 Changes

    March 26, 2022

    ๐Ÿ‘Œ Improvements

    • ๐Ÿ›  #4836 Fixed missing initialization of layout-parameters for ConditionMethodExpression (#4836) (@snakefoot)
    • โšก๏ธ #4821 LogEventInfo - Optimize copy messageTemplateParameters by caching Count (#4821) (@snakefoot)
    • #4820 Improve loading of AppName.exe.nlog with .NET6 single file publish (#4820) (@snakefoot)
    • #4806 NLogConfigurationException - Skip string.Format when no args (#4806) (@snakefoot)