NLog

NLog - Advanced and Structured Logging for Various .NET Platforms

BSD-3-CLAUSE License

Stars
6.2K
Committers
209

Bot releases are hidden (Show)

NLog - NLog 4.5.8

Published by 304NotModified about 6 years ago

Features

  • #2809 MethodCallTarget - Support for Lamba method (@snakefoot)
  • #2816 MessageTemplates - Support rendering of alignment + padding (@snakefoot)

Fixes

  • #2827 FileTarget - Failing to CreateArchiveMutex should not stop logging (@snakefoot)
  • #2830 Auto loading of assemblies was broken in some cases (@snakefoot)

Enhancements

  • #2814 LoggingConfiguration - Improves CheckUnusedTargets to handle target wrappers (@snakefoot)

Performance

  • #2817 Optimize LayoutRendererWrappers to reduce string allocations (#2817) (@snakefoot)
NLog - NLog 4.5.7

Published by 304NotModified over 6 years ago

Features

  • #2792 OutputDebugStringTarget - Support Xamarin iOS and Android (@snakefoot)
  • #2776 FileTarget - Introduced OpenFileFlushTimeout to help when AutoFlush = false (@snakefoot)

Fixes

  • #2761 ${Callsite} fix class naming when includeNamespace=false and cleanNamesOfAnonymousDelegates=true (@Azatey)
  • #2752 JSON: Fixes issue where char types are not properly escaped (#2752) (@smbecker)

Enhancements

  • #2804 FileTarget - Do not trust Last File Write TimeStamp when AutoFlush=false (@snakefoot)
  • #2763 Throw better error when target name is null (@masters3d)
  • #2788 ${Assembly-version} make GetAssembly protected and virtual (@alexangas)
  • #2756 LongDateLayoutRenderer: Improve comments (@stic)
  • #2749 NLog.WindowsEventLog: Update dependency System.Diagnostics.EventLog to RTM version (@304NotModified)

Performance

  • #2797 Better performance with Activator.CreateInstance (@tangdf)
NLog - NLog 4.5.6

Published by 304NotModified over 6 years ago

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)
NLog - NLog 4.5.5

Published by 304NotModified over 6 years ago

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)
NLog - NLog 4.5.4

Published by 304NotModified over 6 years ago

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)
NLog - NLog 4.5.3

Published by 304NotModified over 6 years ago

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)
NLog - NLog 4.5.2

Published by 304NotModified over 6 years ago

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)
NLog - NLog 4.5.1

Published by 304NotModified over 6 years ago

Some small fixes and (performance) improvements. No critical bugs are reported for NLog 4.5.

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)
NLog - NLog 4.5

Published by 304NotModified over 6 years ago

NLog 4.5 adds structured logging and .NET Standard support/UPW without breaking changes! Also many 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)
  • 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)

BugFixes:

  • 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)
  • NLogTraceListener - DisableFlush is enabled by default when AutoFlush=true #2407 (@snakefoot)
  • NLogViewer - Better defaults for connection limits #2404 (@304NotModified)
  • LoggingConfiguration.LoggingRules is not thread safe #2393, #2418 (@snakefoot)
  • Fix XmlLoggingConfiguration reloading #2475 (@MikeFH)
  • 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)

for full list, see https://github.com/NLog/NLog/blob/master/CHANGELOG.md

for what is supported in each platform, see https://github.com/NLog/NLog/wiki/platform-support

NLog - NLog 4.5 RC7

Published by 304NotModified over 6 years ago

  • #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)
NLog - NLog 4.4.13

Published by 304NotModified over 6 years ago

Fixes

  • #2600 Fix 'System.ReadOnlySpan`1[System.Char]' cannot be converted to type 'System.String' (@snakefoot)
NLog - NLog 4.5 RC6

Published by 304NotModified over 6 years ago

  • #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)
NLog - NLog 4.5 RC5

Published by 304NotModified over 6 years ago

  • #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)
  • #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)
  • #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)
  • #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)
NLog - NLog 4.5 RC4

Published by 304NotModified almost 7 years ago

  • #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)
  • #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)
  • #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)
NLog - NLog 4.5 RC3

Published by 304NotModified almost 7 years ago

  • #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)
NLog - NLog 4.5 RC2

Published by 304NotModified almost 7 years ago

NLog 4.5 adds structured logging and .NET Standard support/UPW without breaking changes!

RC 2 main features

List of important changes in NLog 4.5

Features:

  • Support for .Net Standard 1.5 #2341
  • Support for .Net Standard 2.0 #2263 + #2402
  • Support for UPW #2441
  • Introduced Structured logging #2208 + #2262 + #2244
  • Default file archive logic is now easier to use #1993
  • Introduced InstallationContext.ThrowExceptions #2214
  • WebServiceTarget can now batch multiple logevents into single request #2223
  • WebServiceTarget - Allow configuration of proxy address #2375
  • Json conversion also supports object properties #2179
  • event-properties layout-renderer can now render objects as json #2241
  • exception layout-renderer can now render exceptions as json #2357
  • ${guid}, added GeneratedFromLogEvent #2226
  • TraceTarget RawWrite to always perform Trace.WriteLine independent of LogLevel #1968
  • Adding OverflowAction options to BufferingTargetWrapper #2276
  • WhenRepeatedFilter #2123 + #2297
  • ${callsite} added CleanNamesOfAsyncContinuations option #2292
  • ${ndlctiming} allows timing of ndlc-scopes #2377
  • NLogViewerTarget - Enable override of the Logger-name #2390
  • ${sequenceid} added #2411
  • Added "regex-matches" for filtering #2437

BugFixes:

  • Improve archive stability during concurrent file access #1889
  • FallbackGroup could lose log events #2265
  • Exception separator should only be inserted for available items #2250
  • ${exception} - only include separator when items are available #2257
  • LogFactory - Fixes broken EventArgs for ConfigurationChanged #1897
  • Do not report wrapped targets as unused targets #2290
  • Added IIncludeContext, implemented missing properties #2117
  • Improve logging of callsite linenumber for async-methods #2386
  • NLogTraceListener - DisableFlush is enabled by default when AutoFlush=true #2407
  • NLogViewer - Better defaults for connection limits #2404
  • LoggingConfiguration.LoggingRules is not thread safe #2393, 2418

Performance:

  • More targets has OptimizeBufferReuse enabled by default #1913 + #1923 + #1912 + #1911 + #1910 + #1909 + #1908 + #1907
  • StringBuilderPool - Improved Layout Render Performance by reusing StringBuilders #2208
  • JsonLayout - Improved Layout Performance, by optimizing use of StringBuilder #2208
  • FileTarget - Faster byte-encoding of log messsages, by using crude Encoding.GetMaxByteCount() instead of exact Encoding.GetByteCount() #2208
  • Target - Precalculate Layout should ignore sub-layouts for complex layout (Ex Json) #2378
NLog - NLog 4.5 RC1

Published by 304NotModified almost 7 years ago

  • #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)
  • #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)
  • #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)
NLog - NLog 4.5 beta 7

Published by 304NotModified about 7 years ago

  • #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)
NLog - NLog 4.5 beta 6

Published by 304NotModified about 7 years ago

  • #2346 Add messageTemplateParser to XSD (@304NotModified)
  • #2348 NLog MessageTemplateParameter with CaptureType (@snakefoot)
NLog - NLog 4.5 beta 5

Published by 304NotModified about 7 years ago

  • #2340 NLog - MessageTemplateParameters - Always parse when IsPositional (@304NotModified, @snakefoot)
  • #2337 Use string interpolation (@c0shea)
  • #2327 Naming: consistent private fields (@304NotModified)
Package Rankings
Top 8.17% on Proxy.golang.org
Related Projects