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.7.3

Published by 304NotModified about 4 years ago

Features

  • #4017 Allow to change the RuleName of a LoggingRule (#4017) (@304NotModified)
  • #3974 logging of AggregrateException.Data to prevent it from losing it after Flatten call (#3974) (@chaos0307)

Bugfixes

  • #4011 LocalIpAddressLayoutRenderer - IsDnsEligible and PrefixOrigin throws PlatformNotSupportedException on Linux (#4011) (@snakefoot)

Improvements

  • #4057 ObjectReflectionCache - Reduce noise from properties that throws exceptions like Stream.ReadTimeout (#4057) (@snakefoot)
  • #4053 MessageTemplates - Changed Literal.Skip to be Int32 to support message templates longer than short.MaxValue (#4053) (@snakefoot)
  • #4043 ObjectReflectionCache - Skip reflection for Stream objects (#4043) (@snakefoot)
  • #3999 LogFactory Shutdown is public so it can be used from NLogLoggerProvider (#3999) (@snakefoot)
  • #3972 Editor config with File header template (#3972) (@304NotModified)

Performance

  • #4058 FileTarget - Skip delegate capture in GetFileCreationTimeSource. Fallback only necessary when appender has been closed. (#4058) (@snakefoot)
  • #4021 ObjectReflectionCache - Reduce initial memory allocation until needed (#4021) (@snakefoot)
  • #3977 FilteringTargetWrapper - Remove delegate allocation (#3977) (@snakefoot)
NLog - NLog 4.7.2

Published by 304NotModified over 4 years ago

Bugfixes

  • #3969 FileTarget - ArchiveOldFileOnStartup not working together with ArchiveAboveSize (@snakefoot)

Improvements

  • #3962 XSD: Added Enabled attribute for (@304NotModified)
NLog - NLog 4.7.1

Published by 304NotModified over 4 years ago

Features

  • #3871 LogManager.Setup().LoadConfigurationFromFile("NLog.config") added to fluent setup (@snakefoot + @304NotModified)
  • #3909 LogManager.Setup().GetCurrentClassLogger() added to fluent setup (@snakefoot + @304NotModified)
  • #3861 LogManager.Setup().SetupInternalLogger(s => s.AddLogSubscription()) added to fluent setup (@snakefoot + @304NotModified)
  • #3891 ColoredConsoleTarget - Added Condition option to control when to do word-highlight (@snakefoot)
  • #3915 Added new option CaptureStackTrace to ${stacktrace} and ${callsite} to skip implicit capture by Logger (@snakefoot)
  • #3940 Exception-LayoutRenderer with new option BaseException for rendering innermost exception (@snakefoot)

Improvements

  • #3857 FileTarget - Batch write to filestream in max chunksize of 100 times BufferSize (@snakefoot)
  • #3867 InternalLogger include whether NLog comes from GlobalAssemblyCache when logging NLog version (@snakefoot)
  • #3862 InternalLogger LogToFile now support ${processdir} to improve support for single-file-publish (@snakefoot)
  • #3877 Added ${processdir} that matches ${basedir:processDir=true} for consistency with InternalLogger (@snakefoot)
  • #3881 Object property reflection now support IReadOnlyDictionary as expando object (@snakefoot)
  • #3884 InternalLogger include more details like FilePath when loading NLog.config file (@snakefoot)
  • #3895 Added support for Nullable when doing conversion of property types (@304NotModified)
  • #3896 InternalLogger Warnings when skipping unrecognized LayoutRenderer options (@snakefoot)
  • #3901 MappedDiagnosticsLogicalContext - SetScoped with IReadOnlyList also for Xamarin (@snakefoot)
  • #3904 Object property reflection automatically performs ToString for System.Reflection.Module (@snakefoot)
  • #3921 Improve ${basedir:fixtempdir=true} to work better on Linux when TMPDIR not set (@snakefoot)
  • #3928 NetworkTarget respect MaxQueueSize for http- / https-protocol (@snakefoot)
  • #3930 LogFactory.LoadConfiguration() reports searched paths when throwing FileNotFoundException (@304NotModified)
  • #3949 ReplaceNewLines-LayoutRenderer will also remove windows newlines on the Linux platform (@Silvenga)

Bugfixes

  • #3868 SplitGroup Target Wrapper should not skip remaining targets when single target fails (@snakefoot)
  • #3918 ColoredConsoleTarget - Fix bug in handling of newlines without word-highlight (@snakefoot)
  • #3941 ${processid} will no longer fail because unable to lookup ${processdir} on Mono Android (@snakefoot)

Performance

  • #3855 FileTarget - Skip checking file-length when only using ArchiveEvery (@snakefoot)
  • #3898 ObjectGraphScanner performs caching of property reflection for NLog config items (@snakefoot)
  • #3894 Condition expressions now handles operator like '==' without memory boxing (@snakefoot)
  • #3903 ObjectGraphScanner should only check for layout-attributes on Layouts and LayoutRenderers (@snakefoot)
  • #3902 MessageTemplate parsing of properties skips unnecessary array allocation (@snakefoot)
NLog - NLog 4.7

Published by 304NotModified over 4 years ago

Features

  • #3686 + #3740 LogManager.Setup() allows fluent configuration of LogFactory options (@snakefoot + @304NotModified)
  • #3610 LogManager.Setup().SetupSerialization(s => s.RegisterObjectTransformation(...)) for overriding default property reflection (@snakefoot + @304NotModified + @Giorgi + @mmurrell)
  • #3787 LogManager.Setup().SetupExtensions(s => s.RegisterConditionMethod(...)) can use lambda methods and not just static methods (@snakefoot)
  • #3713 ${level:format=FullName} will expand Info + Warn to their full name (@snakefoot)
  • #3714 + #3734 FileTarget - Supports MaxArchiveDays for cleanup of old files based on their age (@snakefoot)
  • #3737 + #3769 Layout.FromMethod to create Layout directly from a lambda method (@snakefoot)
  • #3771 Layout.FromString to create Layout directly from string along with optional parser validation (@snakefoot)
  • #3793 ${dir-separator} for rendering platform specific directory path separator (@304NotModified)
  • #3755 FileTarget - Supports ArchiveOldFileOnStartupAboveSize for cleanup of existing file when above size (@Sam13)
  • #3796 + #3823 InternalLogger - Added LogMessageReceived event (@304NotModified + @snakefoot)
  • #3829 DatabaseTarget - Assign connection properties like SqlConnection.AccessToken (@304NotModified + @snakefoot)
  • #3839 DatabaseTarget - Assign command properties like SqlCommand.CommandTimeout (@snakefoot)
  • #3833 ${onHasProperties} for only rendering when logevent includes properties from structured logging (@snakefoot)

Improvements

  • #3521 XmlLoggingConfiguration - Marked legacy constructors with ignoreErrors parameter as obsolete (@snakefoot)
  • #3689 LoggingConfiguration - Perform checking of unused targets during initialization for better validation (@snakefoot)
  • #3704 EventLogTarget - Improve diagnostics logging when using dynamic EventLog source (@snakefoot)
  • #3706 ${longdate} now also supports raw value for use as DatabaseTarget parameter with DbType (@snakefoot)
  • #3728 SourceLink for GitHub for easy debugging into the NLog source code (@304NotModified)
  • #3743 JsonLayout - EscapeForwardSlash now automatically applies to sub-attributes (@snakefoot)
  • #3742 TraceTarget - Introduced EnableTraceFail=false to avoid Environment.FailFast (@snakefoot)
  • #3750 ExceptionLayoutRenderer - Improved error message when Format-token parsing fails (@snakefoot)
  • #3747 AutoFlushWrapper - Set AutoFlush=false for AsyncTaskTarget by default (@snakefoot)
  • #3754 LocalIpAddressLayoutRenderer - Higher priority to network-addresses that has valid gateway adddress (@snakefoot)
  • #3762 LogFactory - Flush reports to InternalLogger what targets produces timeouts (@snakefoot)

Bugfixes

  • #3758 LogFactory - Fix deadlock issue with AutoReload (@snakefoot)
  • #3766 JsonLayout - Fixed ThreadAgnostic to correctly capture context when using nested JsonLayout (@snakefoot)
  • #3700 ExceptionLayoutRenderer - Fixed so Format option HResult also works for NetCore (@snakefoot)
  • #3761 + #3784 Log4JXml Layout will render NDLC + NDC scopes in correct order (@adanek + @304NotModified)
  • #3821 Logger - Added exception handler for CallSite capture for platform that fails to capture StackTrace (@snakefoot)
  • #3835 StringSplitter - Fixed quote handling when reading elements for config list-properties (@snakefoot)
  • #3828 Utilities: fix ConversionHelpers.TryParseEnum for white space (@304NotModified)

Performance

  • #3683 ObjectGraphScanner - Avoid holding list.SyncRoot lock while scanning (@snakefoot)
  • #3691 FileTarget - ConcurrentWrites=true on NetCore now much faster when archive enabled (@snakefoot)
  • #3694 + #3705 JsonConverter - Write DateTime directly without string allocation (@snakefoot)
  • #3692 XmlLayout - Removed unnecessary double conversion to string (@snakefoot)
  • #3735 WebServiceTarget - Reduced memory allocations by removing unnecessary delegate capture (@snakefoot)
  • #3739 NetworkTarget - Reduced memory allocation for encoding into bytes without string allocation (@snakefoot)
  • #3748 AsyncTaskTarget - Skip default AsyncWrapper since already having internal queue (@snakefoot)
  • #3767 Mark Condition Expressions as ThreadSafe to improve concurrency in Layouts (@snakefoot)
  • #3764 DatabaseTarget - Added IsolationLevel option that activates transactions for better batching performance (@snakefoot)
  • #3779 SimpleLayout - Assignment of string-reference with null-value will translate into FixedText (@304NotModified)
  • #3790 AsyncWrapper - Less aggressive with scheduling timer events for background writing (@snakefoot)
  • #3830 Faster assignment of properties accessed through reflection (@304NotModified)
  • #3832 ${replace} - Faster search and replace when not explicitly have requested regex support (@snakefoot)
  • #3828 Skip need for Activator.CreateInstance in DbTypeSetter (@304NotModified)
NLog - NLog 4.7 RC 1

Published by 304NotModified over 4 years ago

NLog - NLog 4.6.8

Published by 304NotModified almost 5 years ago

Bugfixes

  • #3566 DatabaseTarget - Auto escape special chars in password, and improve handling of empty username/password (@304NotModified)
  • #3584 LoggingRule - Fixed IndexOutOfRangeException for SetLoggingLevels with LogLevel.Off (@snakefoot)
  • #3609 FileTarget - Improved handling of relative path in ArchiveFileName (@snakefoot)
  • #3631 ExceptionLayoutRenderer - Fixed missing separator when Format-value gives empty result (@brinko99)
  • #3647 ${substring} - Length should not be mandatory (@304NotModified)
  • #3653 SimpleLayout - Fixed NullReferenceException in PreCalculate during TryGetRawValue optimization (@snakefoot)

Features

  • #3578 LogFactory - AutoShutdown can be configured to unhook from AppDomain-Unload, and avoid premature shutdown with IHostBuilder (@snakefoot)
  • #3579 PerformanceCounterLayoutRenderer - Added Layout-support for Instance-property (@snakefoot)
  • #3583 ${local-ip} Layout Renderer for local machine ip-address (@snakefoot + @304NotModified)
  • #3583 CachedLayoutRendererWrapper - Added CachedSeconds as ambient property. Ex. ${local-ip:cachedSeconds=60} (@snakefoot)
  • #3586 JsonLayout - Added EscapeForwardSlash-option to skip Json-escape of forward slash (@304NotModified)
  • #3593 AllEventPropertiesLayoutRenderer - Added Exclude-option that specifies property-keys to skip (@snakefoot)
  • #3611 ${Exception} - Added new Format-option values HResult and Properties (@snakefoot)

Improvements

  • #3622 + #3651 ConcurrentRequestQueue refactoring to reduce code complexity (@snakefoot)
  • #3636 AsyncTargetWrapper now fallback to clearing internal queue if flush fails to release blocked writer threads (@snakefoot)
  • #3641 ${CallSite} - Small improvements for recognizing async callsite cases (@snakefoot)
  • #3642 LogManager.GetCurrentClassLogger - Improved capture of Logger name when called within lambda_method (@snakefoot)
  • #3649 ${BaseDir:FixTempDir=true} fallback to process directory for .NET Core 3 Single File Publish (@snakefoot)
  • #3649 Auto-loading NLog configuration from process.exe.nlog will priotize process directory for .NET Core 3 Single File Publish (@snakefoot)
  • #3654 ObjectPathRendererWrapper minor refactorings (@snakefoot)
  • #3660 ObjectHandleSerializer.GetObjectData includes SerializationFormatter=true for use in MDLC + NDLC (@snakefoot)
  • #3662 FileTarget - Extra logging when FileName Layout renders empty string (@snakefoot)

Performance

  • #3618 LogFactory - Faster initial assembly reflection and config loading (@snakefoot)
  • #3635 ConsoleTarget - Added WriteBuffer option that allows batch writing to console-stream with reduced allocations (@snakefoot)
  • #3635 ConsoleTarget - Added global lock to prevent any threadsafety issue from unsafe console (@snakefoot)
NLog - NLog 4.6.7

Published by 304NotModified about 5 years ago

Features

  • #3531 Added ${object-path} / ${exception:objectpath=PropertyName}, for rendering a property of an object (e.g. an exception) (#3531) (@304NotModified)
  • #3560 WhenMethodFilter - Support dynamic filtering using lambda (#3560) (@snakefoot)
  • #3184 Added support for dynamic layout renderer in log level filters (e.g. minLevel, maxLevel) (#3184) (@snakefoot)
  • #3558 ExceptionLayoutRenderer - Added Source as new format parameter. (@snakefoot)
  • #3523 ColoredConsoleTarget - Added DetectOutputRedirected to skip coloring on redirect (@snakefoot)

Improvements

  • #3541 MessageTemplateParameters - Improve validation of parameters when isPositional (#3541) (@snakefoot)
  • #3546 NetworkTarget - HttpNetworkSender no longer sends out-of-order (@snakefoot)
  • #3522 NetworkTarget - Fix InternalLogger.Trace to include Target name (#3522) (@snakefoot)
  • #3562 XML config - Support ThrowConfigExceptions=true even when xml is invalid (@snakefoot)
  • #3532 Fix summary of NoRawValueLayoutRendererWrapper class (#3532) (@304NotModified)

Performance

  • #3540 MessageTemplateParameters - Skip object allocation when no parameters (@snakefoot)
  • #3527 XmlLayout - Defer allocation of ObjectReflectionCache until needed (#3527) (@snakefoot)
NLog - NLog 4.6.6

Published by 304NotModified over 5 years ago

Features

  • #3514 Added XmlLoggingConfiguration(XmlReader reader) ctor, improved docs and annotations (@dmitrychilli, @304NotModified)
  • #3513 AutoFlushTargetWrapper - Added FlushOnConditionOnly property (@snakefoot)

Performance

  • #3492 FileTarget - improvements when ConcurrentWrites=false (@snakefoot)
NLog - NLog 4.6.5

Published by 304NotModified over 5 years ago

Bugfixes

  • #3476 Fix broken XSD schema - NLog.Schema package (@snakefoot, @304NotModified)

Features

  • #3478 XSD: Support <value> in <variable> (@304NotModified)
  • #3477 ${AppSetting} - Added support for ConnectionStrings Lookup (@snakefoot)
  • #3469 LogLevel - Added support for TypeConverter (@snakefoot)
  • #3453 Added null terminator line ending for network target (@Kahath)
  • #3442 Log4JXmlEventLayout - Added IncludeCallSite + IncludeSourceInfo (@snakefoot)

Improvements

  • #3482 Fix typos in docs and comments (@304NotModified)

Performance

  • #3444 RetryingMultiProcessFileAppender - better init BufferSize (@snakefoot)
NLog - NLog 4.6.4

Published by 304NotModified over 5 years ago

Fixes

  • #3392 NLog.Schema: Added missing defaultAction attribute on filters element in XSD (@304NotModified)
  • #3415 AsyncWrapper in Blocking Mode can cause deadlock (@snakefoot)

Features

  • #3430 Added "Properties" property on Logger for reading and editing properties.(@snakefoot, @304NotModified)
  • #3423 ${all-event-properties}: Added IncludeEmptyValues option (@304NotModified)
  • #3394 ${when}, support for non-string values (@304NotModified)
  • #3398 ${whenEmpty} support for non-string values (@snakefoot, @304NotModified)
  • #3391 Added ${environment-user} (@snakefoot)
  • #3389 Log4JXmlEventLayout - Added support for configuration of Parameters (@snakefoot)
  • #3411 LoggingConfigurationParser - Recognize LoggingRule.RuleName property (@snakefoot)

Improvements

  • #3393 Update package descriptions to note the issues with <PackageReference> (@304NotModified)
  • #3409 Various XSD improvements (NLog.Schema package) (@304NotModified)

Performance

  • #3398 ${whenEmpty} faster rendering of string values (@snakefoot, @304NotModified)
  • #3405 FilteringTargetWrapper: Add support for batch writing (@snakefoot, @304NotModified)
  • #3405 PostFilteringTargetWrapper: performance optimizations (@snakefoot, @304NotModified)
  • #3435 Async / buffering wrapper: Improve performance when blocking (@snakefoot)
  • #3434 ObjectReflectionCache - Skip property-reflection for IFormattable (@snakefoot)
NLog - NLog 4.6.3

Published by 304NotModified over 5 years ago

Bugfixes

  • #3345 Fixed potential memory issue and message duplication with large strings (@snakefoot)
  • #3316 TargetWithContext - serialize MDC and MDLC values properly (@304NotModified)

Features

  • #3298 Added WithProperty and SetProperty on Logger (@snakefoot)
  • #3329 ${EventProperties} - Added ObjectPath for rendering nested property (@snakefoot, @304NotModified)
  • #3337 ${ShortDate} added support for IRawValue + IStringValueRenderer (@snakefoot)
  • #3328 Added truncate ambient property, e.g. ${message:truncate=80} (@snakefoot)
  • #3278 ConsoleTarget & ColoredConsoleTarget - Added AutoFlush and improve default flush behavior (@snakefoot)

Improvements

  • #3322 FileTarget - Introduced EnableFileDeleteSimpleMonitor without FileSystemWatcher for non-Windows (@snakefoot)
  • #3332 LogFactory - GetLogger should validate name of logger (@snakefoot)
  • #3320 FallbackGroupTarget - Fixed potential issue with WINDOWS_PHONE (@snakefoot)
  • #3261 NLog config file loading: use process name (e.g. applicationname.exe.nlog) when app.config is not available (@snakefoot)

Performance

  • #3311 Split string - avoid allocation of object array. Added StringHelpers.SplitAndTrimTokens (@snakefoot)
  • #3305 AppSettingLayoutRenderer - Mark as ThreadSafe and ThreadAgnostic (@snakefoot)

Misc

  • #3338 Update docs of various context classes (@304NotModified)
  • #3288 Move NLogPackageLoaders for better unittest debugging experience of NLog (@304NotModified)
  • #3274 Make HttpNetworkSender mockable, add unit test, introduce NSubsitute (@304NotModified)
  • 10 pull requests with refactorings (@snakefoot, @304NotModified)
NLog - NLog 4.6.2

Published by 304NotModified over 5 years ago

Bugfixes

  • #3260 Fix escaping nested close brackets when parsing layout renderers (@lobster2012-user)
  • #3271 NLog config - Fixed bug where empty xml-elements were ignored (@snakefoot, @jonreis)
NLog - NLog 4.6.1

Published by 304NotModified over 5 years ago

Bugfixes

  • #3199 LoggingConfigurationParser - Fixed bug in handling of extensions prefix (@snakefoot)
  • #3253 Fix wrong warnings on <nlog> element (only wrong warnings) (#3253) (@snakefoot, @304NotModified)
  • #3195 SimpleStringReader: fix DebuggerDisplay value (#3195) (@lobster2012-user)
  • #3198 XmlLayout - Fixed missing encode of xml element value (@snakefoot)
  • #3191 VariableLayoutRenderer - Fixed format-string for internal logger warning (@snakefoot, @lobster2012-user)
  • #3258 Fix error with Embedded Assembly in LogAssemblyVersion (@snakefoot)

Improvements

  • #3255 Auto-flush on process exit improvements (@snakefoot)
  • #3189 AsyncTaskTarget - Respect TaskDelayMilliseconds on low activity (@snakefoot)

Performance

  • #3256 ${NDLC} + ${NDC} - Faster checking when TopFrames = 1 (@snakefoot)
  • #3201 ${GDC} reading is now lockfree (#3201) (@snakefoot)
NLog - NLog 4.6

Published by 304NotModified over 5 years ago

See https://nlog-project.org/2019/03/20/nlog-4-6-is-live.html

Features

Main Feature

  • Database target: support for DbType for parameters (including SqlDbType) - #2363 + #2899 + #3085 + #3091 (@hubo0831, @ObikeDev, @sorvis, @304NotModified, @snakefoot)

XML config features

  • Added support for constant variable in level attributes - #2709 (level, minlevel, etc) (@304NotModified)
  • Added defaultAction option for - #2848 (@304NotModified)
  • Rules now support multiple '*' and '?' wildcards and in any position - #3098 (@beppemarazzi)
  • Added Support ${currentdir}, ${basedir}, ${tempdir} and environment variables in internalLogFile value - #3031 + #3092 (@snakefoot)

New targets, layouts and layout renderers

  • Added XmlLayout - Render LogEventInfo.Properties as XML - #2670 + #3014 (@snakefoot)
  • Added ${db-null} layout renderer - #2849 (@304NotModified)
  • Added New ${substring}, ${left} & ${right} layoutrenderer wrappers - #2907 (@304NotModified)
  • Added ${HostName} Layout Renderer for full computer DNS name - #3071 (@amitsaha)
  • Added ${AppSetting} Layout Renderer (app.config + web.config) moved from NLog.Extended for NetFramework - #3053 (@snakefoot)
  • Added noRawValue layout wrapper - #3165 (@snakefoot)

Additions to targets, layouts and layout renderers

  • AsyncTargetWrapper: added LogEventDropped + LogEventQueueGrow events - #2610 (@Pomoinytskyi)
  • NetworkTarget - Support for SSL & TLS - #2678 (@snakefoot)
  • JsonLayout: support for System.Dynamic-objects - #2902 (@304NotModified)
  • AsyncTaskTarget: Added support for BatchSize and RetryCount - #2909 (@snakefoot)
  • ColoredConsoleTarget - Added EnableAnsiOutput option (VS Code support) - #3018 (@jp7677 + @snakefoot)
  • Added IncludeGdc property in JsonLayout - #3050 (@casperc89)
  • TargetWithContext - Support for PropertyType using IRawValue-interface - #3060 (@snakefoot)

Enhancements

  • JsonLayout includes Type-property when rendering Exception-object - #2989 (@snakefoot)
  • LoggingConfigurationParser - Extracted from XmlLoggingConfiguration - #2891 (Prepare for appsettings.json) (@snakefoot)
  • Added support for complex objects in MDLC and NDLC on Net45 - #2910 (@snakefoot)
  • PerformanceCounter - Improve behavior for CPU usage calculation - #2918 (@snakefoot)
  • TargetWithContext - Include all properties even when duplicate names - #2941 (@snakefoot)
  • Updated resharper annotations for better validation - #2974 (@imanushin)
  • Improve default reflection support on .NET Core Native - #2979 (@snakefoot)
  • EventLogTarget with better support for MaximumKilobytes configuration - #3017 (@Coriolanuss)
  • Added Xamarin PreserveAttribute for the entire Assembly to improve AOT-linking - #3039 (@snakefoot)
  • Create snupkg packages and use portable PDB - #3045 (@snakefoot)
  • KeepFileOpen + ConcurrentWrites on Xamarin + UWP - #3079 - #3048 (@304NotModified)
  • WebService Target allow custom override of SoapAction-header for Soap11 - #3082 + #3100 (@AlexeyRokhin)
  • Various refactorings (15 pull requests) (@beppemarazzi, @304NotModified, @snakefoot)

Performance

  • AsyncTargetWrapper using ConcurrentQueue for .NET Core 2 for better thread-concurrency - #2650 (@snakefoot)
  • AsyncTargetWrapper - TimeToSleepBetweenBatches changed default to 1ms - #2890 (@snakefoot)
  • InternalLogger performance optimization when LogLevel.Off - #2897 (@snakefoot)
  • InternalLogger LogLevel changes to LogLevel.Off by default unless being used. - #2935 (@snakefoot)
  • CsvLayout - Allocation optimizations and optional skip quoting-check for individual columns. - #2934 (@snakefoot)
  • MappedDiagnosticsLogicalContext - SetScoped with IReadOnlyList (Prepare for MEL BeginScope) - #2949 (@snakefoot)
  • IStringValueRenderer-interface to improve performance for Layout with single LayoutRenderer - #2973 (@snakefoot)
  • StringBuilderPool - Reduce memory overhead until required - #3103 (@snakefoot)

LibLog Breaking change

  • damianh/LibLog#181 - Sub-components using LibLog ver. 5.0.3 (or newer) will now use MDLC + NDLC (Instead of MDC + NDC) when detecting application is using NLog ver. 4.6. Make sure to update NLog.config to match this change. Make sure that all sub-components have upgraded to LibLog ver. 5.0.3 (or newer) if they make use of OpenNestedContext or OpenMappedContext.

See also NLog 4.6 Milestone

NLog - NLog 4.6 RC3

Published by 304NotModified over 5 years ago

Changes since RC2

Breaking

Oops, again a breaking change with the previous NLog 4.6 RC

  • Database target: dropped UseRawValue option on parameters (introduced in NLog 4.6 RC1), introduced ${myRenderer:noRawValue=true} (@snakefoot)

Note, there are no breaking changes with NLog 4.5.11. Semver is important!

All changes NLog 4.6

Features

Main Feature

  • Database target: support for DbType for parameters (including SqlDbType) - #2363 + #2899 + #3085 + #3091 (@hubo0831, @ObikeDev, @sorvis, @304NotModified, @snakefoot)

XML config features

  • Added support for constant variable in level attributes - #2709 (level, minlevel, etc) (@304NotModified)
  • Added defaultAction option for - #2848 (@304NotModified)
  • Rules now support multiple '*' and '?' wildcards and in any position - #3098 (@beppemarazzi)
  • Added Support ${currentdir}, ${basedir}, ${tempdir} and environment variables in internalLogFile value - #3031 + #3092 (@snakefoot)

New targets, layouts and layout renderers

  • Added XmlLayout - Render LogEventInfo.Properties as XML - #2670 + #3014 (@snakefoot)
  • Added ${db-null} layout renderer - #2849 (@304NotModified)
  • Added New ${substring}, ${left} & ${right} layoutrenderer wrappers - #2907 (@304NotModified)
  • Added ${HostName} Layout Renderer for full computer DNS name - #3071 (@amitsaha)
  • Added ${AppSetting} Layout Renderer (app.config + web.config) moved from NLog.Extended for NetFramework - #3053 (@snakefoot)
  • Added noRawValue layout wrapper - #3165 (@snakefoot)

Additions to targets, layouts and layout renderers

  • AsyncTargetWrapper: added LogEventDropped + LogEventQueueGrow events - #2610 (@Pomoinytskyi)
  • NetworkTarget - Support for SSL & TLS - #2678 (@snakefoot)
  • JsonLayout: support for System.Dynamic-objects - #2902 (@304NotModified)
  • AsyncTaskTarget: Added support for BatchSize and RetryCount - #2909 (@snakefoot)
  • ColoredConsoleTarget - Added EnableAnsiOutput option (VS Code support) - #3018 (@jp7677 + @snakefoot)
  • Added IncludeGdc property in JsonLayout - #3050 (@casperc89)
  • TargetWithContext - Support for PropertyType using IRawValue-interface - #3060 (@snakefoot)

Enhancements

  • JsonLayout includes Type-property when rendering Exception-object - #2989 (@snakefoot)
  • LoggingConfigurationParser - Extracted from XmlLoggingConfiguration - #2891 (Prepare for appsettings.json) (@snakefoot)
  • Added support for complex objects in MDLC and NDLC on Net45 - #2910 (@snakefoot)
  • PerformanceCounter - Improve behavior for CPU usage calculation - #2918 (@snakefoot)
  • TargetWithContext - Include all properties even when duplicate names - #2941 (@snakefoot)
  • Updated resharper annotations for better validation - #2974 (@imanushin)
  • Improve default reflection support on .NET Core Native - #2979 (@snakefoot)
  • EventLogTarget with better support for MaximumKilobytes configuration - #3017 (@Coriolanuss)
  • Added Xamarin PreserveAttribute for the entire Assembly to improve AOT-linking - #3039 (@snakefoot)
  • Create snupkg packages and use portable PDB - #3045 (@snakefoot)
  • KeepFileOpen + ConcurrentWrites on Xamarin + UWP - #3079 - #3048 (@304NotModified)
  • WebService Target allow custom override of SoapAction-header for Soap11 - #3082 + #3100 (@AlexeyRokhin)
  • Various refactorings (15 pull requests) (@beppemarazzi, @304NotModified, @snakefoot)

Performance

  • AsyncTargetWrapper using ConcurrentQueue for .NET Core 2 for better thread-concurrency - #2650 (@snakefoot)
  • AsyncTargetWrapper - TimeToSleepBetweenBatches changed default to 1ms - #2890 (@snakefoot)
  • InternalLogger performance optimization when LogLevel.Off - #2897 (@snakefoot)
  • InternalLogger LogLevel changes to LogLevel.Off by default unless being used. - #2935 (@snakefoot)
  • CsvLayout - Allocation optimizations and optional skip quoting-check for individual columns. - #2934 (@snakefoot)
  • MappedDiagnosticsLogicalContext - SetScoped with IReadOnlyList (Prepare for MEL BeginScope) - #2949 (@snakefoot)
  • IRenderString-interface to improve performance for Layout with single LayoutRenderer - #2973 (@snakefoot)
  • StringBuilderPool - Reduce memory overhead until required - #3103 (@snakefoot)

LibLog Breaking change

  • damianh/LibLog#181 - Sub-components using LibLog ver. 5.0.3 (or newer) will now use MDLC + NDLC (Instead of MDC + NDC) when detecting application is using NLog ver. 4.6. Make sure to update NLog.config to match this change. Make sure that all sub-components have upgraded to LibLog ver. 5.0.3 (or newer) if they make use of OpenNestedContext or OpenMappedContext.

See also NLog 4.6 Milestone

Full changelog: https://github.com/NLog/NLog/blob/master/CHANGELOG.md

Supported can be found on https://nlog-project.org/config/

NLog - NLog 4.6 RC 2

Published by 304NotModified over 5 years ago

Changes since RC1

Breaking

Breaking changes since NLog 4.6 RC1, no breaking changes with 4.5.11

  • #3131 DatabaseTarget - Removed logEvent-parameter from CreateDatabaseParameter (@snakefoot)
  • #3138 Split XML layout to XMLELement and XmlElementBase (#3138) (@304NotModified)

Features

  • #3124 NetworkTarget - Added support for KeepAliveTimeSeconds (@snakefoot)
  • #3129 ConfigSetting - Preregister so it can be accessed without extension registration (#3129) (@snakefoot)

Improvements

  • #3162 ContextProperty with IncludeEmptyValue means default value for ValueType (#3162) (@snakefoot)
  • #3160 Refactor filetarget + target to reduce code complexity (@snakefoot)
  • #3159 AppSettingLayoutRenderer - Include Item for NLog.Extended (@snakefoot)
  • #3155 PlatformDetector - Introduced detection of MacOSX, and removed WindowsCE (@snakefoot)
  • #3144 TryGetRawValue instead of GetRawValue (@304NotModified)
  • #3141 AppSettingLayoutRenderer2 - Use Item instead of Name as it matches GDC + MDC + MDLC (#3141) (@snakefoot)
  • #3121 All Hyperlinks to https (@304NotModified)

All changes NLog 4.6

See https://github.com/NLog/NLog/blob/dev/CHANGELOG.md

NLog - NLog 4.6 RC1

Published by 304NotModified over 5 years ago

Features:

  • #2363 + #2899 + #3085 + #3091 Database target: support for DbType for parameters (including SqlDbType) - (@hubo0831,@ObikeDev,@sorvis, @304NotModified, @snakefoot)
  • #2610 AsyncTargetWrapper with LogEventDropped- + LogEventQueueGrow-events (@Pomoinytskyi)
  • #2670 + #3014 XmlLayout - Render LogEventInfo.Properties as XML (@snakefoot)
  • #2678 NetworkTarget - Support for SSL & TLS (@snakefoot)
  • #2709 XML Config: Support for constant variable in level attributes (level, minlevel, etc) (@304NotModified)
  • #2848 Added defaultAction for (@304NotModified)
  • #2849 IRawValue-interface and ${db-null} layout renderer (@304NotModified)
  • #2902 JsonLayout with support for System.Dynamic-objects (@304NotModified)
  • #2907 New Substring, Left & Right Wrappers (@304NotModified)
  • #3098 support for one or more '*' and '?' wildcards and in any position (@beppemarazzi)
  • #2909 AsyncTaskTarget - BatchSize + RetryCount (@snakefoot)
  • #3018 ColoredConsoleTarget - Added EnableAnsiOutput option (VS Code support) (@jp7677 + @snakefoot)
  • #3031 + #3092 Support ${currentdir},${basedir},${tempdir} and Environment Variables for internalLogFile when parsing nlog.config (@snakefoot)
  • #3050 Added IncludeGdc property in JsonLayout (@casperc89)
  • #3071 ${HostName} Layout Renderer for full computer DNS name (@amitsaha)
  • #3053 ${AppSetting} Layout Renderer (app.config + web.config) moved from NLog.Extended for NetFramework (@snakefoot)
  • #3060 TargetWithContext - Support for PropertyType using IRawValue-interface (@snakefoot)

Enhancements:

  • #2989 JsonLayout includes Type-property when rendering Exception-object (@snakefoot)
  • #2891 LoggingConfigurationParser - Extracted from XmlLoggingConfiguration (Prepare for appsettings.json) (@snakefoot)
  • #2910 Added support for complex objects in MDLC and NDLC on Net45 (@snakefoot)
  • #2918 PerformanceCounter - Improve behavior for CPU usage calculation (@snakefoot)
  • #2941 TargetWithContext - Include all properties even when duplicate names (@snakefoot)
  • #2974 Updated resharper annotations for better validation (@imanushin)
  • #2979 Improve default reflection support on NetCore Native (@snakefoot)
  • #3017 EventLogTarget with better support for MaximumKilobytes configuration (@Coriolanuss)
  • #3039 Added Xamarin PreserveAttribute for the entire Assembly to improve AOT-linking (@snakefoot)
  • #3045 Create snupkg packages and use portable PDB (@snakefoot)
  • #3048 KeepFileOpen + ConcurrentWrites on Xamarin + UWP - #3079 (@304NotModified)
  • #3082 + #3100 WebService Target allow custom override of SoapAction-header for Soap11 (@AlexeyRokhin)
  • Various refactorings (15 pull requests) (@beppemarazzi, @304NotModified, @snakefoot)

Performance:

  • #2650 AsyncTargetWrapper using ConcurrentQueue for NetCore2 for better thread-concurrency (@snakefoot)
  • #2890 AsyncTargetWrapper - TimeToSleepBetweenBatches changed default to 1ms (@snakefoot)
  • #2897 InternalLogger performance optimization when LogLevel.Off (@snakefoot)
  • #2935 InternalLogger LogLevel changes to LogLevel.Off by default unless being used. (@snakefoot)
  • #2934 CsvLayout - Allocation optimizations and optional skip quoting-check for individual columns. (@snakefoot)
  • #2949 MappedDiagnosticsLogicalContext - SetScoped with IReadOnlyList (Prepare for MEL BeginScope) (@snakefoot)
  • #2973 IRenderString-interface to improve performance for Layout with single LayoutRenderer (@snakefoot)
  • #3103 StringBuilderPool - Reduce memory overhead until required (@snakefoot)

LibLog Breaking change

  • damianh/LibLog#181 - Sub-components using LibLog ver. 5.0.3 (or newer) will now use MDLC + NDLC (Instead of MDC + NDC) when detecting application is using NLog ver. 4.6. Make sure to update NLog.config to match this change. Make sure that all sub-components have upgraded to LibLog ver. 5.0.3 (or newer) if they make use of OpenNestedContext or OpenMappedContext.

See also NLog 4.6 Milestone

Full changelog: https://github.com/NLog/NLog/blob/master/CHANGELOG.md

NLog - NLog 4.5.11

Published by 304NotModified almost 6 years ago

Enhancements

  • #2985 LogBuilder - Support fluent assignment of message-template after properties (@snakefoot)
  • #2983 JsonSerializer - Use ReferenceEquals instead of object.Equals when checking for cyclic object loops (#2983) (@snakefoot)
  • #2988 NullAppender - Added missing SecuritySafeCritical (@snakefoot)

Fixes

  • #2987 JSON encoding should create valid JSON for non-string dictionary-keys (@snakefoot)
NLog - NLog 4.5.10

Published by 304NotModified about 6 years ago

  • #2883 Fix LoadConfiguration for not found config file (@snakefoot, @304NotModified)
NLog - NLog 4.5.9

Published by 304NotModified about 6 years ago

Fixes

  • #2865 JSON encoding should create valid JSON for special double values (hotfix) (@snakefoot)

Enhancements

  • #2846 Include Entry Assembly File Location when loading candidate NLog.config (#2846) (@snakefoot)
Package Rankings
Top 8.17% on Proxy.golang.org
Related Projects