LibLog 4.0.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 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.0.2
dotnet add package LibLog --version 4.0.2
<PackageReference Include="LibLog" Version="4.0.2">
  <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.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

- Tighted 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 make entire code internal with a LIBLOG_INTERNAL 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.


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 681 3/3/2019
5.0.6 67,545 2/8/2019
5.0.5 16,297 1/6/2019
5.0.4 5,237 12/25/2018
5.0.3 27,678 11/19/2018
5.0.2 63,593 6/30/2018
5.0.0 24,274 5/28/2018
4.2.6 293,525 10/11/2016
4.2.5 80,412 3/29/2016
4.2.4 33,788 10/29/2015
4.2.3 17,179 6/9/2015
4.2.2 16,773 4/15/2015
4.2.1 12,193 4/10/2015
4.2.0 37,658 4/7/2015
4.1.1 551 4/4/2015
4.0.2 609 4/2/2015
3.1.0 7,026 2/3/2015
3.0.0 488 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,599 1/3/2015
2.0.0 488 1/3/2015
1.5.0 19,540 12/2/2014
1.4.0 7,957 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 493 9/16/2014
1.2.0 464 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