LibLog 4.2.2

dotnet add package LibLog --version 4.2.2                
NuGet\Install-Package LibLog -Version 4.2.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LibLog" Version="4.2.2">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LibLog --version 4.2.2                
#r "nuget: LibLog, 4.2.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install LibLog as a Cake Addin
#addin nuget:?package=LibLog&version=4.2.2

// Install LibLog as a Cake Tool
#tool nuget:?package=LibLog&version=4.2.2                

A source code package designed primarily for library and framework authors who want dependency free logging support in their component. Also useful in end applications. Works with .NET 4 and higher.

If you are a library or framework author and you wish to provide logging support in your component there are a  number of options: 1) Depend on a specific logging framework 2) Depend on Common.Logging 3) Implement your own ILog interface and make your consumers wire it up.

Option 1 is not desirable because it forces your users to use a particular framework. Option 2 is not desirable because it will add yet more nuget package dependencies and project references with associated versioning concerns in addition to wiring up. Option 3 is desirable because it is dependency free but requires that your users to remember to write an adapter and wire things up.

This package is a variation of option 3 but will automatically wire things up too.
- It will add an ILog, ILogProvider etc to YourRootNamespace.Logging
- ILog is one method to implement in comparison to Common.Logging ILog's ~65 members
- Using optimized reflection, it transparently supports NLog, Log4Net, EntLib Logging, Serilog and Loupe without any wiring up required by an end user, if the end user simply has a reference to any of these logging frameworks.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

GitHub repositories (19)

Showing the top 5 popular GitHub repositories that depend on LibLog:

Repository Stars
HangfireIO/Hangfire
An easy way to perform background job processing in .NET and .NET Core applications. No Windows Service or separate process required
mono/monodevelop
MonoDevelop is a cross platform .NET IDE
IdentityServer/IdentityServer3
OpenID Connect Provider and OAuth 2.0 Authorization Server Framework for ASP.NET 4.x/Katana
DotNetOpenAuth/DotNetOpenAuth
A C# implementation of the OpenID, OAuth protocols
damianh/LibLog
LibLog is a single file for you to either copy/paste or install via nuget, into your library/framework/application to provide a logging abstraction.
Version Downloads Last updated
4.2.2 2,375 4/15/2015
4.2.1 1,610 4/10/2015
4.2.0 5,999 4/7/2015
4.1.1 219 4/4/2015
4.0.2 208 4/2/2015
3.1.0 2,329 2/3/2015
3.0.0 144 2/2/2015
3.0.0-beta4 236 2/2/2015
3.0.0-beta3 154 2/2/2015
3.0.0-beta2 65 1/31/2015
3.0.0-beta1 81 1/30/2015
2.0.1 5,868 1/3/2015
2.0.0 127 1/3/2015
1.5.0 3,250 12/2/2014
1.4.0 896 11/11/2014
1.3.0 2,399 9/24/2014
1.2.3 309 9/16/2014
1.2.2 110 9/16/2014
1.2.1 88 9/16/2014
1.2.0 156 9/14/2014
1.1.2 89 9/12/2014
1.0.0 107 9/9/2014
1.0.0-beta2 87 9/6/2014

- Tightened up the public API to just being ILog, LogLevel, and LogProvider.SetCurrentLogProvider()
- Getting a logger (LogProvider.For(), LogProvider.GetLogger() etc) is now internal by default to prevent unintended coupling with consumers of your library. These can be made public again with a LIBLOG_PUBLIC conditional compilation symbol.
- Can hook into when a consumer of your lib sets the current log provider allowing you to forward the configuration to other, possibly internalized, libs that use LibLog.
- Can just leverage the providers by using LIBLOG_PROVIDERS_ONLY allowing you to define your own logging interfaces or leverage existing ones.