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.

Install-Package LibLog -Version 4.0.2
dotnet add package LibLog --version 4.0.2

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.

Dependencies

This package has no dependencies.

Version History

Version Downloads Last updated
4.2.6 34,692 10/11/2016
4.2.5 36,256 3/29/2016
4.2.4 18,465 10/29/2015
4.2.3 14,278 6/9/2015
4.2.2 12,199 4/15/2015
4.2.1 8,816 4/10/2015
4.2.0 29,324 4/7/2015
4.1.1 300 4/4/2015
4.0.2 (current version) 314 4/2/2015
3.1.0 4,381 2/3/2015
3.0.0 210 2/2/2015
3.0.0-beta4 298 2/2/2015
3.0.0-beta3 188 2/2/2015
3.0.0-beta2 110 1/31/2015
3.0.0-beta1 115 1/30/2015
2.0.1 13,159 1/3/2015
2.0.0 182 1/3/2015
1.5.0 9,966 12/2/2014
1.4.0 5,240 11/11/2014
1.3.0 2,511 9/24/2014
1.2.3 373 9/16/2014
1.2.2 168 9/16/2014
1.2.1 163 9/16/2014
1.2.0 204 9/14/2014
1.1.2 139 9/12/2014
1.0.0 160 9/9/2014
1.0.0-beta2 128 9/6/2014
Show less