LibLog 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.
Showing the top 20 packages that depend on LibLog.
Packages | Downloads |
---|---|
App.Metrics.Health.Abstractions
App Metrics Health abstractions and interfaces.
|
2 |
- 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.
Version | Downloads | Last updated |
---|---|---|
5.0.8 | 2 | 11/25/2024 |
5.0.7-build.575 | 2 | 11/11/2024 |
5.0.6 | 1 | 11/24/2024 |
5.0.5 | 2 | 11/17/2024 |
5.0.4 | 2 | 10/27/2024 |
5.0.3 | 1 | 11/24/2024 |
5.0.2 | 2 | 11/24/2024 |
5.0.0 | 1 | 11/24/2024 |
4.2.6 | 1 | 11/24/2024 |
4.2.5 | 1 | 11/24/2024 |
4.2.4 | 2 | 11/24/2024 |
4.2.3 | 1 | 11/24/2024 |
4.2.2 | 2 | 10/23/2024 |
4.2.1 | 1 | 11/24/2024 |
4.2.0 | 1 | 11/24/2024 |
4.1.1 | 1 | 11/24/2024 |
4.0.2 | 2 | 11/04/2024 |
3.1.0 | 2 | 10/22/2024 |
3.0.0 | 2 | 10/23/2024 |
3.0.0-beta4 | 2 | 10/22/2024 |
3.0.0-beta3 | 2 | 11/15/2024 |
3.0.0-beta2 | 2 | 10/21/2024 |
3.0.0-beta1 | 2 | 11/14/2024 |
2.0.1 | 1 | 11/24/2024 |
2.0.0 | 1 | 11/24/2024 |
1.5.0 | 1 | 11/24/2024 |
1.4.0 | 1 | 11/24/2024 |
1.3.0 | 1 | 11/24/2024 |
1.2.3 | 2 | 10/26/2024 |
1.2.2 | 2 | 10/26/2024 |
1.2.1 | 2 | 11/24/2024 |
1.2.0 | 1 | 11/24/2024 |
1.1.2 | 2 | 10/23/2024 |
1.0.0 | 2 | 11/11/2024 |
1.0.0-beta2 | 2 | 10/21/2024 |