LibLog 4.1.1

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 2 methods 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 is a newer version of this package available.
See the version list below for details.
Install-Package LibLog -Version 4.1.1
dotnet add package LibLog --version 4.1.1
<PackageReference Include="LibLog" Version="4.1.1">
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LibLog --version 4.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

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


This package has no dependencies.

Showing the top 10 GitHub repositories that depend on LibLog:

Repository Stars
An easy way to perform background job processing in your .NET and .NET Core applications. No Windows Service or separate process required
Quartz Enterprise Scheduler .NET
MonoDevelop is a cross platform .NET IDE
OpenID Connect Provider and OAuth 2.0 Authorization Server Framework for ASP.NET 4.x/Katana
A C# implementation of the OpenID, OAuth protocols
An easy to use .NET API for RabbitMQ
Command Dispatcher, Processor, and Distributed Task Queue
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.
User & Identity Management
The Metrics.NET library provides a way of instrumenting applications with custom metrics (timers, histograms, counters etc) that can be reported in various ways and can provide insights on what is happening inside a running application.

Version History

Version Downloads Last updated
5.0.7-build.575 662 3/3/2019
5.0.6 65,843 2/8/2019
5.0.5 16,047 1/6/2019
5.0.4 5,124 12/25/2018
5.0.3 27,029 11/19/2018
5.0.2 63,025 6/30/2018
5.0.0 23,908 5/28/2018
4.2.6 291,594 10/11/2016
4.2.5 80,128 3/29/2016
4.2.4 33,698 10/29/2015
4.2.3 17,164 6/9/2015
4.2.2 16,751 4/15/2015
4.2.1 12,182 4/10/2015
4.2.0 37,642 4/7/2015
4.1.1 551 4/4/2015
4.0.2 608 4/2/2015
3.1.0 7,011 2/3/2015
3.0.0 487 2/2/2015
3.0.0-beta4 559 2/2/2015
3.0.0-beta3 402 2/2/2015
3.0.0-beta2 387 1/31/2015
3.0.0-beta1 367 1/30/2015
2.0.1 22,543 1/3/2015
2.0.0 488 1/3/2015
1.5.0 19,483 12/2/2014
1.4.0 7,944 11/11/2014
1.3.0 2,782 9/24/2014
1.2.3 626 9/16/2014
1.2.2 434 9/16/2014
1.2.1 492 9/16/2014
1.2.0 463 9/14/2014
1.1.2 426 9/12/2014
1.0.0 475 9/9/2014
1.0.0-beta2 375 9/6/2014
Show less