All Versions
122
Latest Version
Avg Release Cycle
88 days
Latest Release
4 days ago
Changelog History
Page 7
Changelog History
Page 7
-
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.Formatallocation (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
AddRuleMethods (#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)
-
v4.5-rc04 Changes
January 15, 2018- #2490 LogEventInfo.MessageTemplateParameters as class instead of interface (#2490) (@snakefoot)
- #2510 Database target entity framework connection string (@snakefoot)
- โก๏ธ #2513 Update docs for [AppDomainFixedOutput], remove [AppDomainFixedOutput] on ${currentDir} (@NLog)
- 0๏ธโฃ #2512 LogManager.LoadConfiguration - Support relative paths by default (@snakefoot)
- #2507 Reduce string allocations for logevents with single target destination (@snakefoot)
- #2491 Added ${currentDir} (#2491) (@UgurAldanmaz)
- ๐ #2500 ${gdc}, ${mdc} & {mdlc} - Support Format parameter (@snakefoot)
- ๐ฆ #2497 RegisterItemsFromAssembly - Include assemblies from nuget packages (Fix) (@snakefoot)
- #2472 LogManager.LoadConfiguration - Prepare for custom config file readers (@snakefoot)
- 0๏ธโฃ #2486 JsonConverter- Sanitize Exception.Data dictionary keys option (on by default) (@snakefoot)
- #2495 MultiFileWatcher - Detach from FileSystemWatcher before disposing (@snakefoot)
- ๐ฆ #2493 RegisterItemsFromAssembly - Include assemblies from nuget packages (@snakefoot)
- #2487 Adds version types to AssemblyVersion layout renderer (#2487) (@alexangas)
- #2464 Add methods to enabling/disabling LogLevels (@MikeFH)
- #2477 fix typo (@heldersepu)
- #2485 FileTarget - Dispose Archive-Mutex after completing file-archive (@snakefoot)
- #2475 Fix XmlLoggingConfiguration reloading (@MikeFH)
- โ #2471 TreatWarningsAsErrors = true (@snakefoot)
- ๐ #2462 AsyncLogEventInfo - Removed private setter (@snakefoot)
-
v4.5-rc03 Changes
December 11, 2017- #2460 NLog 4.5 rc3 version and changelog (@304NotModified)
- โก๏ธ #2459 StringBuilderExt.CopyToStream - Optimize MemoryStream allocation (@snakefoot)
- ๐ #2456 FileTarget: Support byte order mark (optional) (#2456) (@KYegres)
- #2453 NestedDiagnosticsContext - Only allocate Stack-object on Write (@snakefoot)
- ๐จ #2458 Document and (minor) refactor on MruCache class (@ie-zero)
- #2452 ThreadLocalStorageHelper - NetStandard only allocate when needed (@snakefoot)
-
v4.5-rc02 Changes
December 04, 2017- #2444 NLog 4.5 RC2 version and changelog (@304NotModified)
- #2450 No need to call type(T) (@304NotModified)
- ๐ฒ #2451 FileTarget - Improved and less internal logging (@snakefoot)
- ๐จ #2449 Refactor: fix comment, remove unused, cleanup, String ->` string etc (#2449) (@304NotModified)
- #2447 CallSiteInformation - Prepare for fast classname lookup from filename and linenumber (@snakefoot)
- ๐จ #2446 Refactor - split methodes, remove duplicates (#2446) (@304NotModified)
- #2437 Create regex-matches condition method (#2437) (@MikeFH)
- ๐ #2441 Support for UWP platform (@snakefoot)
- ๐ #2439 Better config Better Code Hub (@304NotModified)
- #2431 NetCoreApp - Improve auto loading of NLog extension dlls (@snakefoot)
- ๐ #2418 LoggingConfiguration - Modify and clone LoggingRules under lock (@snakefoot)
- ๐ #2422 Avoid unnecessary string-allocation, skip unnecessary lock (@snakefoot)
- ๐ #2419 Logger - Added missing MessageTemplateFormatMethodAttribute + removed obsolete internal method (@snakefoot)
- #2421 Changed IIncludeContext to internal interface until someone needs it (@snakefoot)
- #2417 IsMono - Cache Type.GetType to avoid constant AppDomain.TypeResolve events (@snakefoot)
- ๐ #2420 Merged CallSite Test from PR1812 (@snakefoot)
-
v4.5-rc01 Changes
November 23, 2017- โช #2414 Revert breaking change of NestedDiagnosticsLogicalContext.Pop() (@304NotModified)
- ๐ #2415 NetStandard15 - Moved dependency System.Xml.XmlSerializer to NLog.Wcf (@snakefoot)
- #2413 NestedDiagnosticsLogicalContext - Protect against double dispose (@snakefoot)
- โ #2412 MessageTemplate - Render test of DateTime, TimeSpan, DateTimeOffset (@snakefoot)
- #2411 Create SequenceIdLayoutRenderer (@MikeFH)
- โช #2409 Revert "Avoid struct copy on readonly field access" (@snakefoot)
- #2403 NLog 4.5 beta 8 (@304NotModified)
- #2406 From [StringFormatMethod] to [MessageTemplateFormatMethod] (@304NotModified)
- ๐ #2402 Introduced NLog.Wcf and Nlog.WindowsIdentity for .NET standard (@snakefoot)
- โก๏ธ #2404 Updated NLog viewer target defaults (@304NotModified)
- โ #2405 Added unit test for JsonLayout - serialize of objects (@304NotModified)
- 0๏ธโฃ #2407 NLogTraceListener - set DisableFlush true by default (@snakefoot)
- ๐ #2401 MailTarget is supported by NetStandard2.0 (but without SmtpSection) (@snakefoot)
- ๐ #2398 Log4JXml - Fixed initalization of XmlWriterSettings for IndentXml (@snakefoot)
- ๐ #2386 LogEventInfo.StackTrace moved into CallSiteInformation (@snakefoot)
- #2399 Avoid struct copy on readonly field access (@snakefoot)
- ๐ #2389 Fixed Sonar Lint code analysis warnings (@snakefoot)
- โก๏ธ #2396 Update xunit and Microsoft.NET.Test.Sdk (@304NotModified)
- 0๏ธโฃ #2387 JsonConverter - Do not include static properties by default (@snakefoot)
- ๐ #2392 Removed unneeded default references like System.Drawing for NetFramework (@snakefoot)
- #2390 NLogViewerTarget - Enable override of the Logger-name (@snakefoot)
- #2385 FileTarget - ArchiveMutex only created when needed (@snakefoot)
- #2378 Target - Precalculate Layout should ignore sub-layouts for complex layouts (@snakefoot)
- ๐ #2388 PropertiesDictionary - Removed obsolete (private) method (@snakefoot)
- #2384 InternalLogger should work when NetCore loads NetFramework DLL (@snakefoot)
- #2377 NDLC - Perform low resolution scope timing (@snakefoot)
- ๐ #2372 Log4JXmlEventLayoutRenderer - Minor platform fixes for IncludeNdlc (@snakefoot)
- #2371 FileTarget - Enable archive mutex for Unix File Appender (if available) (@snakefoot)
- ๐ง #2375 WebServiceTarget - Allow configuration of proxy address (@snakefoot)
- ๐ฆ #2362 NLog - NETSTANDARD1_5 (Cleanup package references) (@snakefoot)
- #2361 Use expression-bodied members (@c0shea)
-
v4.5-beta07 Changes
October 15, 2017- #2359 WrapperLayoutRendererBase - Transform with access to LogEventInfo (@snakefoot)
- ๐ #2357 ExceptionLayoutRenderer - Support Serialize Format (@snakefoot)
- #2358 WrapperLayoutRendererBuilderBase - Transform with access to LogEventInfo (@snakefoot)
- ๐จ #2314 Refactor InternalLogger class (@304NotModified, @ie-zero)
- ๐ #2356 NLog - MessageTemplates - Renamed config to parseMessageTemplates (@snakefoot)
- ๐ฆ #2353 remove old package.config (@304NotModified)
- โช #2354 NLog - NETSTANDARD1_5 (revert breaking change) (@snakefoot)
- ๐ #2342 Remove redundant qualifiers (#2342) (@c0shea)
- #2349 NLog - NETSTANDARD1_5 (Fix uppercase with culture) (@snakefoot)
- #2341 NLog - NETSTANDARD1_5 (@snakefoot)
-
v4.5-beta06 Changes
October 12, 2017