NLog by Jarek Kowalski,Kim Christensen,Julian Verdurmen

<PackageReference Include="NLog" Version="4.5.0" />

 NLog 4.5.0

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

<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <id>NLog</id>
    <version>4.5.0</version>
    <title>NLog for .NET Framework and .NET Standard</title>
    <authors>Jarek Kowalski,Kim Christensen,Julian Verdurmen</authors>
    <owners>Jarek Kowalski,Kim Christensen,Julian Verdurmen</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <licenseUrl>https://github.com/NLog/NLog/blob/master/LICENSE.txt</licenseUrl>
    <projectUrl>http://nlog-project.org/</projectUrl>
    <iconUrl>http://nlog-project.org/N.png</iconUrl>
    <description>NLog is a logging platform for .NET with rich log routing and management capabilities.</description>
    <releaseNotes>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)
- 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} &amp; {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]
- 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)

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</releaseNotes>
    <copyright>Copyright (c) 2004-2018 NLog Project - http://nlog-project.org/</copyright>
    <tags>NLog logging log tracing logfiles database eventlog email wcf</tags>
    <repository type="git" url="git://github.com/NLog/NLog" />
    <dependencies>
      <group targetFramework=".NETFramework3.5" />
      <group targetFramework=".NETFramework4.0-Client" />
      <group targetFramework=".NETFramework4.5" />
      <group targetFramework=".NETStandard1.3">
        <dependency id="Microsoft.Extensions.PlatformAbstractions" version="1.0.0" exclude="Build,Analyzers" />
        <dependency id="NETStandard.Library" version="1.6.0" exclude="Build,Analyzers" />
        <dependency id="System.Collections.NonGeneric" version="4.0.1" exclude="Build,Analyzers" />
        <dependency id="System.ComponentModel.Primitives" version="4.1.0" exclude="Build,Analyzers" />
        <dependency id="System.Data.Common" version="4.1.0" exclude="Build,Analyzers" />
        <dependency id="System.Diagnostics.StackTrace" version="4.0.1" exclude="Build,Analyzers" />
        <dependency id="System.Net.NameResolution" version="4.0.0" exclude="Build,Analyzers" />
        <dependency id="System.Net.Requests" version="4.0.11" exclude="Build,Analyzers" />
        <dependency id="System.Reflection.TypeExtensions" version="4.1.0" exclude="Build,Analyzers" />
        <dependency id="System.Xml.XmlDocument" version="4.0.1" exclude="Build,Analyzers" />
      </group>
      <group targetFramework=".NETStandard1.5">
        <dependency id="NETStandard.Library" version="1.6.0" exclude="Build,Analyzers" />
        <dependency id="System.ComponentModel.Primitives" version="4.1.0" exclude="Build,Analyzers" />
        <dependency id="System.ComponentModel.TypeConverter" version="4.1.0" exclude="Build,Analyzers" />
        <dependency id="System.Data.Common" version="4.1.0" exclude="Build,Analyzers" />
        <dependency id="System.Diagnostics.Process" version="4.1.0" exclude="Build,Analyzers" />
        <dependency id="System.Diagnostics.StackTrace" version="4.0.1" exclude="Build,Analyzers" />
        <dependency id="System.Diagnostics.TraceSource" version="4.0.0" exclude="Build,Analyzers" />
        <dependency id="System.IO.FileSystem.Watcher" version="4.0.0" exclude="Build,Analyzers" />
        <dependency id="System.Net.NameResolution" version="4.0.0" exclude="Build,Analyzers" />
        <dependency id="System.Net.Requests" version="4.0.11" exclude="Build,Analyzers" />
        <dependency id="System.Reflection.TypeExtensions" version="4.1.0" exclude="Build,Analyzers" />
        <dependency id="System.Runtime.Loader" version="4.0.0" exclude="Build,Analyzers" />
        <dependency id="System.Threading.Thread" version="4.0.0" exclude="Build,Analyzers" />
        <dependency id="System.Xml.XmlDocument" version="4.0.1" exclude="Build,Analyzers" />
      </group>
      <group targetFramework="MonoAndroid4.4" />
      <group targetFramework="Silverlight4.0" />
      <group targetFramework="Silverlight5.0" />
      <group targetFramework="WindowsPhone8.0" />
      <group targetFramework="Xamarin.iOS1.0" />
      <group targetFramework=".NETStandard2.0" />
    </dependencies>
    <frameworkAssemblies>
      <frameworkAssembly assemblyName="Java.Interop" targetFramework="MonoAndroid4.4" />
      <frameworkAssembly assemblyName="Mono.Android" targetFramework="MonoAndroid4.4" />
      <frameworkAssembly assemblyName="mscorlib" targetFramework="MonoAndroid4.4, Silverlight4.0, Silverlight5.0, WindowsPhone8.0, Xamarin.iOS1.0" />
      <frameworkAssembly assemblyName="System.Core" targetFramework="MonoAndroid4.4, .NETFramework3.5, .NETFramework4.0-Client, .NETFramework4.5, Silverlight4.0, Silverlight5.0, WindowsPhone8.0, Xamarin.iOS1.0" />
      <frameworkAssembly assemblyName="System" targetFramework="MonoAndroid4.4, .NETFramework3.5, .NETFramework4.0-Client, .NETFramework4.5, Silverlight4.0, Silverlight5.0, WindowsPhone8.0, Xamarin.iOS1.0" />
      <frameworkAssembly assemblyName="System.Runtime" targetFramework="MonoAndroid4.4" />
      <frameworkAssembly assemblyName="System.Xml" targetFramework="MonoAndroid4.4, .NETFramework3.5, .NETFramework4.0-Client, .NETFramework4.5, Silverlight4.0, Silverlight5.0, WindowsPhone8.0, Xamarin.iOS1.0" />
      <frameworkAssembly assemblyName="System.Xml.Linq" targetFramework="MonoAndroid4.4" />
      <frameworkAssembly assemblyName="System.Configuration" targetFramework=".NETFramework3.5, .NETFramework4.0-Client, .NETFramework4.5" />
      <frameworkAssembly assemblyName="System.Data" targetFramework=".NETFramework3.5, .NETFramework4.0-Client, .NETFramework4.5" />
      <frameworkAssembly assemblyName="System.Runtime.Serialization" targetFramework=".NETFramework3.5, .NETFramework4.0-Client, .NETFramework4.5, Silverlight4.0, Silverlight5.0" />
      <frameworkAssembly assemblyName="System.ServiceModel" targetFramework=".NETFramework3.5, .NETFramework4.0-Client, .NETFramework4.5, Silverlight4.0, Silverlight5.0" />
      <frameworkAssembly assemblyName="System.Transactions" targetFramework=".NETFramework3.5, .NETFramework4.0-Client, .NETFramework4.5" />
      <frameworkAssembly assemblyName="Microsoft.CSharp" targetFramework=".NETFramework4.0-Client, .NETFramework4.5" />
      <frameworkAssembly assemblyName="System.IO.Compression" targetFramework=".NETFramework4.5" />
      <frameworkAssembly assemblyName="System.Net" targetFramework="Silverlight4.0, Silverlight5.0, WindowsPhone8.0" />
      <frameworkAssembly assemblyName="System.Windows.Browser" targetFramework="Silverlight4.0, Silverlight5.0" />
      <frameworkAssembly assemblyName="System.Windows" targetFramework="Silverlight4.0, Silverlight5.0, WindowsPhone8.0" />
      <frameworkAssembly assemblyName="Xamarin.iOS" targetFramework="Xamarin.iOS1.0" />
    </frameworkAssemblies>
  </metadata>
</package>