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.
See the version list below for details.
Install-Package LibLog -Version 3.1.0
dotnet add package LibLog --version 3.1.0
<PackageReference Include="LibLog" Version="3.1.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add LibLog --version 3.1.0
- Support for nested and mapped diagnostic contexts.
- Better support for structured logging.
- PCL Support
This package has no dependencies.
Showing the top 10 GitHub repositories that depend on LibLog:
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.