NLog 4.5.0-rc07

NLog for .NET Framework and .NET Standard

NLog is a logging platform for .NET with rich log routing and management capabilities.

This is a prerelease version of NLog.
There is a newer version of this package available.
See the version list below for details.
The owner has unlisted this package. This could mean that the package is deprecated or shouldn't be used anymore.
Install-Package NLog -Version 4.5.0-rc07
dotnet add package NLog --version 4.5.0-rc07
paket add NLog --version 4.5.0-rc07
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

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


# RC 7 summary:

- [#2612](https://github.com/nlog/nlog/pull/2612) add final param to `AddRule` Methods (#2612) (@893949088)
- [#2590](https://github.com/nlog/nlog/pull/2590) WebServiceTarget - JsonPost with support for single nameless parameter (@snakefoot)
- [#2604](https://github.com/nlog/nlog/pull/2604) FileTarget - Failing to CreateArchiveMutex should not stop logging (#2604) (@snakefoot)
- [#2592](https://github.com/nlog/nlog/pull/2592) Make Set methods of MDC and MDLC return IDisposable (#2592) (@MikeFH)
- [#2591](https://github.com/nlog/nlog/pull/2591) callsite-filename renderer (#2591) (@brunotag)
- [#2597](https://github.com/nlog/nlog/pull/2597) Replace WINDOWS_UWP with NETSTANDARD1_3 to support UWP10 shared libraries (@snakefoot)
- [#2599](https://github.com/nlog/nlog/pull/2599) TryImplicitConversion should only check object types (@snakefoot)
- [#2595](https://github.com/nlog/nlog/pull/2595) IsSafeToDeferFormatting - Convert.GetTypeCode is faster and better (@snakefoot)
- [#2609](https://github.com/nlog/nlog/pull/2609) NLog - Fix Callsite when wrapping ILogger in Microsoft Extension Logging (@snakefoot)
- [#2613](https://github.com/nlog/nlog/pull/2613) Attempt to make some unit-tests more stable (@snakefoot)
- [#2603](https://github.com/nlog/nlog/pull/2603) MultiFileWatcher - Improve error handling if FileSystemWatcher fails (@snakefoot)

- See also https://github.com/NLog/NLog/milestone/66?closed=1

# RC 6 summary:

- [#2576](https://github.com/NLog/NLog/pull/2576) Fix possible infinite loop in message template parser + better handling incorrect templates (@304NotModified, @snakefoot)
- [#2581](https://github.com/NLog/NLog/pull/2581) MessageTemplateParameter(s) ctors to internal (@304NotModified)
- See also https://github.com/NLog/NLog/milestone/63?closed=1

# RC 5 summary:

- [#2570](https://github.com/nlog/nlog/pull/2570) Update nuspec NLog.Config and NLog.Schema (@304NotModified)
- [#2542](https://github.com/nlog/nlog/pull/2542) Added TooManyStructuredParametersShouldKeepBeInParamList testcase (@304NotModified)
- [#2467](https://github.com/nlog/nlog/pull/2467) TargetWithContext - Easier to capture snapshot of MDLC and NDLC context (#2467) (@snakefoot)
- [#2555](https://github.com/nlog/nlog/pull/2555) JsonLayout - Added MaxRecursionLimit and set default to 0 (@snakefoot)
- [#2568](https://github.com/nlog/nlog/pull/2568) WebServiceTarget - Rollback added Group-Layout (@snakefoot)
- [#2544](https://github.com/nlog/nlog/pull/2544) MessageTemplate renderer with support for mixed mode templates (@snakefoot)
- [#2538](https://github.com/nlog/nlog/pull/2538) Renamed ValueSerializer to ValueFormatter (@snakefoot)
- [#2554](https://github.com/nlog/nlog/pull/2554) LogBuilder - Check level before allocation of Properties-dictionary (@snakefoot)
- [#2550](https://github.com/nlog/nlog/pull/2550) DefaultJsonSerializer - Reflection should skip index-item-properties (@snakefoot)
- [#2549](https://github.com/nlog/nlog/pull/2549) LoggingConfiguration - FindTargetByName should also find target + fix for logging on a target even after removed (@snakefoot)
- [#2548](https://github.com/nlog/nlog/pull/2548) IAppDomain.FriendlyName should also work on NetStandard15 (@snakefoot)
- [#2563](https://github.com/nlog/nlog/pull/2563) WebService-Target fails internally with PlatformNotSupportedException on NetCore (@snakefoot)
- [#2560](https://github.com/nlog/nlog/pull/2560) Network/NLogViewer/Chainsaw Target - Enabled OptimizeBufferReuse by default, but not for sub classes (@snakefoot)
- [#2551](https://github.com/nlog/nlog/pull/2551) Blackhole LoggingRule without targets (@snakefoot)
- [#2534](https://github.com/nlog/nlog/pull/2534) Docs for DefaultJsonSerializer/(i)ValueSerializer (#2534) (@304NotModified)
- [#2519](https://github.com/nlog/nlog/pull/2519) RegisterItemsFromAssembly - Include assemblies from nuget packages (Strict) (@304NotModified, @snakefoot)
- [#2524](https://github.com/nlog/nlog/pull/2524) FileTarget - Dynamic archive mode with more strict file-mask for cleanup (@snakefoot)
- [#2518](https://github.com/nlog/nlog/pull/2518) DatabaseTarget - Added DbProvider System.Data.SqlClient for NetStandard (@snakefoot)
- [#2514](https://github.com/nlog/nlog/pull/2514) Added missing docgen for different options (Less noise in appveyor) (@snakefoot)
- See also https://github.com/NLog/NLog/milestone/62?closed=1

# RC 4 summary:



- [#2490](https://github.com/nlog/nlog/pull/2490) LogEventInfo.MessageTemplateParameters as class instead of interface (#2490) (@snakefoot)
- [#2510](https://github.com/nlog/nlog/pull/2510) Database target entity framework connection string (@snakefoot)
- [#2513](https://github.com/nlog/nlog/pull/2513) Update docs for [AppDomainFixedOutput], remove [AppDomainFixedOutput] on ${currentDir} (@NLog)
- [#2512](https://github.com/nlog/nlog/pull/2512) LogManager.LoadConfiguration - Support relative paths by default (@snakefoot)
- [#2507](https://github.com/nlog/nlog/pull/2507) Reduce string allocations for logevents with single target destination (@snakefoot)
- [#2491](https://github.com/nlog/nlog/pull/2491) Added ${currentDir} (#2491) (@UgurAldanmaz)
- [#2500](https://github.com/nlog/nlog/pull/2500) ${gdc}, ${mdc} & {mdlc} - Support Format parameter (@snakefoot)
- [#2497](https://github.com/nlog/nlog/pull/2497) RegisterItemsFromAssembly - Include assemblies from nuget packages (Fix) (@snakefoot)
- [#2472](https://github.com/nlog/nlog/pull/2472) LogManager.LoadConfiguration - Prepare for custom config file readers (@snakefoot)
- [#2486](https://github.com/nlog/nlog/pull/2486) JsonConverter- Sanitize Exception.Data dictionary keys option (on by default) (@snakefoot)
- [#2495](https://github.com/nlog/nlog/pull/2495) MultiFileWatcher - Detach from FileSystemWatcher before disposing (@snakefoot)
- [#2493](https://github.com/nlog/nlog/pull/2493) RegisterItemsFromAssembly - Include assemblies from nuget packages (@snakefoot)
- [#2487](https://github.com/nlog/nlog/pull/2487) Adds version types to AssemblyVersion layout renderer  (#2487) (@alexangas)
- [#2464](https://github.com/nlog/nlog/pull/2464) Add methods to enabling/disabling LogLevels (@MikeFH)
- [#2477](https://github.com/nlog/nlog/pull/2477) fix typo (@heldersepu)
- [#2485](https://github.com/nlog/nlog/pull/2485) FileTarget - Dispose Archive-Mutex after completing file-archive (@snakefoot)
- [#2475](https://github.com/nlog/nlog/pull/2475) Fix XmlLoggingConfiguration reloading (@MikeFH)
- [#2471](https://github.com/nlog/nlog/pull/2471) TreatWarningsAsErrors = true (@snakefoot)
- [#2462](https://github.com/nlog/nlog/pull/2462) AsyncLogEventInfo - Removed private setter (@snakefoot)
- See also https://github.com/NLog/NLog/milestone/60?closed=1

# RC 3 summary

- File target: support for writing BOM (WriteBom option)
- Futher memory allocation improvements
- See https://github.com/NLog/NLog/milestone/59?closed=1

# RC 2 summary

- Support for UWP
- Added "regex-matches" condition method for filtering
- .NET Core: Improve auto loading of NLog extension dlls
- And more, see all details: https://github.com/NLog/NLog/milestone/58?closed=1

# 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
- File target: support for writing BOM (WriteBom option) #2456

## 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

Version History

Version Downloads Last updated
4.5.11 159,143 11/6/2018
4.5.10 500,402 9/17/2018
4.5.9 231,270 8/24/2018
4.5.8 375,985 8/5/2018
4.5.7 215,500 7/19/2018
4.5.6 625,353 5/29/2018
4.5.5 107,748 5/25/2018
4.5.4 496,674 5/5/2018
4.5.3 290,478 4/16/2018
4.5.2 281,255 4/6/2018
4.5.1 63,415 4/3/2018
4.5.0 392,442 3/25/2018
4.4.13 228,734 2/27/2018
4.4.12 1,851,859 8/8/2017
4.4.11 581,391 6/17/2017
4.4.10 181,781 5/31/2017
4.4.9 381,885 5/5/2017
4.4.8 65,207 4/28/2017
4.4.7 47,947 4/25/2017
4.4.6 123,091 4/15/2017
4.4.5 201,944 3/28/2017
4.4.4 196,971 3/10/2017
4.4.3 303,909 2/17/2017
4.4.2 169,758 2/6/2017
4.4.1 445,526 12/24/2016
4.4.0 144,503 12/14/2016
4.3.11 454,266 11/7/2016
4.3.10 302,570 10/11/2016
4.3.9 248,638 9/18/2016
4.3.8 294,578 9/5/2016
4.3.7 303,812 8/6/2016
4.3.6 150,890 7/23/2016
4.3.5 437,403 6/12/2016
4.3.4 341,151 5/16/2016
4.3.3 147,031 4/28/2016
4.3.2 46,012 4/26/2016
4.3.1 62,640 4/20/2016
4.3.0 41,667 4/16/2016
4.2.3 725,485 12/20/2015
4.2.2 131,605 12/2/2015
4.2.1 88,412 11/21/2015
4.2.0 194,605 10/24/2015
4.1.2 357,235 9/20/2015
4.1.1 57,846 9/12/2015
4.1.0 99,969 8/31/2015
4.0.1 388,509 6/18/2015
4.0.0 249,023 6/9/2015
3.2.1 322,409 4/24/2015
3.2.0 694,681 1/2/2015
3.1.0 731,507 6/24/2014
3.0.0 115,106 6/2/2014
2.1.0 626,350 10/10/2013
2.0.1.2 400,897 4/8/2013
2.0.0.2000 617,766 7/18/2011
1.0.0.505 97,872 1/7/2011
Show less