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

Changelog History
Page 5

  • v4.5.6 Changes

    May 29, 2018

    ๐Ÿ›  Fixes

    โœจ Enhancements

    • ๐Ÿง #2745 FileTarget - Improve support for Linux FileSystem without BirthTime (@snakefoot)

    ๐ŸŽ Performance

    • #2744 LogEventInfo - HasProperties should allocate PropertiesDicitonary when needed (@snakefoot)
    • #2743 JsonLayout - Reduce allocations when needing to escape string (44% time improvement) (@snakefoot)
  • v4.5.5 Changes

    May 25, 2018

    ๐Ÿ›  Fixes

    • #2736 FileTarget - Calculate correct archive date when multiple file appenders (@snakefoot)

    ๐Ÿ”‹ Features

    • ๐ŸŒฒ #2726 WhenRepeated - Support logging rules with multiple targets (@snakefoot)
    • ๐Ÿ‘ #2727 Support for custom targets that implements IUsesStackTrace (@snakefoot)
    • #2719 DatabaseTarget: use parameters on install (@Jejuni)

    โœจ Enhancements

    • #2718 JsonLayout - Always stringify when requested (@snakefoot)
    • #2739 Target.WriteAsyncLogEvents(IList) to public

    ๐ŸŽ Performance

    • #2704 Allocation improvement in precalculating layouts (@snakefoot)
  • v4.5.4 Changes

    May 05, 2018

    ๐Ÿ›  Fixes

    • #2688 Faulty invalidate of FormattedMessage when getting PropertiesDictionary (@snakefoot)
    • ๐Ÿ— #2687 Fix: NLog.config build-action and copy for non-core projects, it's now "copy if newer" (@304NotModified)
    • #2698 FileTarget - Calculate correct archive date, when using Monthly archive (@snakefoot)

    โœจ Enhancements

    • #2673 TargetWithContext - Easier to use without needing to override ContextProperties (@snakefoot)
    • #2684 DatabaseTarget - Skip static assembly lookup for .Net Standard (@snakefoot)
    • ๐ŸŒฒ #2689 LogEventInfo - Structured logging parameters are not always immutable (@snakefoot)
    • ๐Ÿ‘ป #2679 Target.WriteAsyncThreadSafe should always have exception handler (@snakefoot)
    • ๐Ÿ”€ #2586 Target.MergeEventProperties is now obsolete (@snakefoot)
    • โš  Sonar warning fixes: #2691, #2694, #2693, #2690, #2685, #2683, #2696 (@snakefoot, @304NotModified)
  • v4.5.3 Changes

    April 16, 2018

    ๐Ÿ›  Fixes

    • #2662 FileTarget - Improve handling of archives with multiple active files (@snakefoot)

    โœจ Enhancements

    • ๐ŸŒฒ #2587 Internal Log - Include target type and target name in the log messages (@snakefoot)
    • #2651 Searching for NLog Extension Files should handle DirectoryNotFoundException (@snakefoot)

    ๐ŸŽ Performance

    • ๐ŸŽ #2653 LayoutRenderer ThreadSafe Attribute introduced to allow lock free Precalculate + other small performance improvements (@snakefoot)
  • v4.5.2 Changes

    April 06, 2018

    ๐Ÿ”‹ Features

    • #2648 ${processtime} and ${time} added invariant option (@snakefoot)

    ๐Ÿ›  Fixes

    • ๐Ÿ‘ #2643 UWP with NetStandard2 on Net Native does not support Assembly.CodeBase + Handle native methods in StackTrace (#2643) (@snakefoot)
    • #2644 FallbackGroupTarget: handle async state on fallback correctly (@snakefoot)

    ๐ŸŽ Performance

    • ๐ŸŽ #2645 Minor performance optimization of some layoutrenderers (@snakefoot)
    • #2642 FileTarget - InitializeFile should skip dictionary lookup when same file (@snakefoot)
  • v4.5.1 Changes

    April 03, 2018

    ๐Ÿ›  Fixes

    • #2637 Fix IndexOutOfRangeException in NestedDiagnosticsLogicalContext (@snakefoot)
    • #2638 Handle null values correctly in LogReceiverSecureService (@304NotModified)

    ๐ŸŽ Performance

    • โšก๏ธ #2639 MessageTemplates - Optimize ParseHole for positional templates (@snakefoot)
    • #2640 FileTarget - InitializeFile no longer need justData parameter + dispose fileapenders earlier (@snakefoot)
    • ๐ŸŽ #2628 RoundRobinGroupTarget - Replaced lock with Interlocked for performance (@snakefoot)
  • v4.5 Changes

    March 25, 2018

    ๐ŸŒฒ NLog 4.5 adds structured logging and .NET Standard support/UPW without breaking changes! Also a lot features has been added!

    List of important changes in NLog 4.5

    ๐Ÿ”‹ Features

    • ๐Ÿ‘Œ Support for .Net Standard 2.0 #2263 + #2402 (@snakefoot)
    • ๐Ÿ‘Œ Support for .Net Standard 1.5 #2341 (@snakefoot)
    • ๐Ÿ‘Œ Support for .Net Standard 1.3 (and UWP) #2441 + #2597 (Remember to manually flush on app suspend). (@snakefoot)
    • ๐Ÿ‘€ Introduced Structured logging #2208 + #2262 + #2244 + #2544 (@snakefoot, @304NotModified, @jods4, @nblumhardt) - see https://github.com/NLog/NLog/wiki/How-to-use-structured-logging
    • ๐Ÿ‘ Json conversion also supports object properties #2179, #2555 (@snakefoot, @304NotModified)
    • event-properties layout-renderer can now render objects as json #2241 (@snakefoot, @304NotModified)
    • ๐Ÿ‘ป exception layout-renderer can now render exceptions as json #2357 (@snakefoot)
    • 0๏ธโƒฃ Default file archive logic is now easier to use #1993 (@snakefoot)
    • Introduced InstallationContext.ThrowExceptions #2214 (@rbarillec)
    • ๐Ÿ”ง WebServiceTarget - Allow configuration of proxy address #2375 (@snakefoot)
    • WebServiceTarget - JsonPost with JsonLayout without being wrapped in parameter #2590 (@snakefoot)
    • ${guid}, added GeneratedFromLogEvent #2226 (@snakefoot)
    • TraceTarget RawWrite to always perform Trace.WriteLine independent of LogLevel #1968 (@snakefoot)
    • โž• Adding OverflowAction options to BufferingTargetWrapper #2276 (@mikegron)
    • WhenRepeatedFilter - Filtering of identical LogEvents #2123 + #2297 (@snakefoot)
    • ${callsite} added CleanNamesOfAsyncContinuations option #2292 (@tkhaugen, @304NotModified)
    • ${ndlctiming} allows timing of ndlc-scopes #2377 (@snakefoot)
    • NLogViewerTarget - Enable override of the Logger-name #2390 (@snakefoot)
    • ${sequenceid} added #2411 (@MikeFH)
    • โž• Added "regex-matches" for filtering #2437 (@MikeFH)
    • ๐Ÿ‘ ${gdc}, ${mdc} & {mdlc} - Support Format parameter #2500 (@snakefoot)
    • ${currentDir} added #2491 (@UgurAldanmaz)
    • ${AssemblyVersion}: add type (File, Assembly, Informational) option #2487 (@alexangas)
    • ๐Ÿ‘ FileTarget: Support byte order mark #2456 (@KYegres)
    • ๐Ÿ‘ TargetWithContext - Easier to create custom NLog targets with support for MDLC and NDLC #2467 (@snakefoot)
    • ${callname-filename} - Without line number #2591 (@brunotag)
    • ๐Ÿ‘ MDC + MDLC with SetScoped property support #2592 (@MikeFH)
    • LoggingConfiguration AddRule includes final-parameter #2612 (@893949088)

    ๐Ÿ›  Fixes

    • ๐Ÿ‘Œ Improve archive stability during concurrent file access #1889 (@snakefoot)
    • ๐ŸŒฒ FallbackGroup could lose log events #2265 (@frabar666)
    • ๐Ÿ‘ป ${exception} - only include separator when items are available #2257 (@jojosardez)
    • ๐Ÿ”ง LogFactory - Fixes broken EventArgs for ConfigurationChanged #1897 (@snakefoot)
    • Do not report wrapped targets as unused targets #2290 (@thesmallbang)
    • โž• Added IIncludeContext, implemented missing properties #2117 (@304NotModified)
    • ๐Ÿ‘Œ Improve logging of callsite linenumber for async-methods #2386 (@snakefoot)
    • 0๏ธโƒฃ NLogTraceListener - DisableFlush is enabled by default when AutoFlush=true #2407 (@snakefoot)
    • 0๏ธโƒฃ NLogViewer - Better defaults for connection limits #2404 (@304NotModified)
    • LoggingConfiguration.LoggingRules is not thread safe #2393, #2418
    • ๐Ÿ›  Fix XmlLoggingConfiguration reloading #2475 (@snakefoot)
    • ๐Ÿ‘ Database Target now supports EntityFramework ConnectionStrings #2510 (@Misiu, @snakefoot)
    • ๐Ÿšš LoggingConfiguration.RemoveTarget now works while actively logging #2549 (@jojosardez, @snakefoot)
    • ๐Ÿ‘ FileTarget does not fail on platforms without global mutex support #2604 (@snakefoot)
    • LoggingConfiguration does not fail when AutoReload is not possible on the platforms without FileWatcher #2603 (@snakefoot)

    ๐ŸŽ Performance

    • โšก๏ธ More targets has OptimizeBufferReuse enabled by default #1913 + #1923 + #1912 + #1911 + #1910 + #1909 + #1908 + #1907 + #2560 (@snakefoot)
    • ๐ŸŽ StringBuilderPool - Improved Layout Render Performance by reusing StringBuilders #2208 (@snakefoot)
    • ๐ŸŽ JsonLayout - Improved Layout Performance, by optimizing use of StringBuilder #2208 (@snakefoot)
    • ๐ŸŒฒ FileTarget - Faster byte-encoding of log messsages, by using crude Encoding.GetMaxByteCount() instead of exact Encoding.GetByteCount() #2208 (@snakefoot)
    • Target - Precalculate Layout should ignore sub-layouts for complex layout (Ex Json) #2378 (@snakefoot)
    • MessageLayoutRenderer - Skip string.Format allocation (for caching) when writing to a single target, instead format directly into output buffer. #2507 (@snakefoot)

    ๐Ÿ”„ Changes since rc 07:

    • ๐Ÿ”จ #2621 Single Target optimization logic refactored to reuse optimization approval (@snakefoot)
    • #2622 NetworkTarget - Http / Https should not throw on async error response (@snakefoot)
    • #2619 NetworkTarget - Reduce allocation when buffer is less than MaxMessageSize (@snakefoot)
    • #2616 LogManager.Shutdown - Should disable file watcher and avoid auto reload (@snakefoot)
    • ๐Ÿ“œ #2620 Single Target optimization should only be done when parseMessageTemplate = null (@snakefoot)
  • v4.5-rc07 Changes

    March 07, 2018
    • #2614 NLog 4.5 RC7 changelog & version (@304NotModified)
    • #2612 add final param to AddRule Methods (#2612) (@893949088)
    • ๐Ÿ‘ #2590 WebServiceTarget - JsonPost with support for single nameless parameter (@snakefoot)
    • ๐ŸŒฒ #2604 FileTarget - Failing to CreateArchiveMutex should not stop logging (#2604) (@snakefoot)
    • #2592 Make Set methods of MDC and MDLC return IDisposable (#2592) (@MikeFH)
    • #2591 callsite-filename renderer (#2591) (@brunotag)
    • #2597 Replace WINDOWS_UWP with NETSTANDARD1_3 to support UWP10 shared libraries (@snakefoot)
    • #2599 TryImplicitConversion should only check object types (@snakefoot)
    • ๐Ÿ‘ #2595 IsSafeToDeferFormatting - Convert.GetTypeCode is faster and better (@snakefoot)
    • ๐ŸŒฒ #2609 NLog - Fix Callsite when wrapping ILogger in Microsoft Extension Logging (@snakefoot)
    • โœ… #2613 Attempt to make some unit-tests more stable (@snakefoot)
    • #2603 MultiFileWatcher - Improve error handling if FileSystemWatcher fails (@snakefoot)
  • v4.5-rc06 Changes

    February 20, 2018
    • #2585 NLog 4.5 rc6 version and changelog (#2585) (@304NotModified)
    • #2581 MessageTemplateParameter(s) ctors to internal (@304NotModified)
    • ๐Ÿ“œ #2576 Fix possible infinite loop in message template parser + better handling incorrect templates (@304NotModified)
    • #2580 ColoredConsoleTarget.cs: Fix typo (@perlun)
  • v4.5-rc05 Changes

    February 13, 2018
    • ๐Ÿš€ #2571 4.5 rc5 version and release notes (@304NotModified)
    • #2572 copyright 2018 (@304NotModified)
    • โšก๏ธ #2570 Update nuspec NLog.Config and NLog.Schema (@304NotModified)
    • โœ… #2542 Added TooManyStructuredParametersShouldKeepBeInParamList testcase (@304NotModified)
    • #2467 TargetWithContext - Easier to capture snapshot of MDLC and NDLC context (#2467) (@snakefoot)
    • 0๏ธโƒฃ #2555 JsonLayout - Added MaxRecursionLimit and set default to 0 (@snakefoot)
    • โช #2568 WebServiceTarget - Rollback added Group-Layout (@snakefoot)
    • ๐Ÿ‘ #2544 MessageTemplate renderer with support for mixed mode templates (@snakefoot)
    • #2538 Renamed ValueSerializer to ValueFormatter (@snakefoot)
    • #2554 LogBuilder - Check level before allocation of Properties-dictionary (@snakefoot)
    • 0๏ธโƒฃ #2550 DefaultJsonSerializer - Reflection should skip index-item-properties (@snakefoot)
    • ๐Ÿšš #2549 LoggingConfiguration - FindTargetByName should also find target + fix for logging on a target even after removed (@snakefoot)
    • #2548 IAppDomain.FriendlyName should also work on NetStandard15 (@snakefoot)
    • ๐Ÿ‘ #2563 WebService-Target fails internally with PlatformNotSupportedException on NetCore (@snakefoot)
    • โšก๏ธ #2560 Network/NLogViewer/Chainsaw Target - Enabled OptimizeBufferReuse by default, but not for sub classes (@snakefoot)
    • #2551 Blackhole LoggingRule without targets (@snakefoot)
    • 0๏ธโƒฃ #2534 Docs for DefaultJsonSerializer/(i)ValueSerializer (#2534) (@304NotModified)
    • ๐Ÿ“ฆ #2519 RegisterItemsFromAssembly - Include assemblies from nuget packages (Strict) (@304NotModified, @snakefoot)
    • #2524 FileTarget - Dynamic archive mode with more strict file-mask for cleanup (@snakefoot)
    • #2518 DatabaseTarget - Added DbProvider System.Data.SqlClient for NetStandard (@snakefoot)
    • #2514 Added missing docgen for different options (Less noise in appveyor) (@snakefoot)