Welcome to Common.Logging!
Common.Logging provides a basic logging abstraction for developers to code against that makes it easy to switch your application from one logging framework to the next via simple configuration. Common.Logging offers multiple ready-built adapters to support the most popular logging frameworks in the .NET ecosystem today.
If your logging framework of choice isn't already supported, Common.Logging also provides a set of ready-to-use base classes that make it very low-friction to extend Common.Logging support to just about any logging framework you might need.
License
Common.Logging is licensed under the terms of the Apache License, Version 2.0. The full text of this license is available for review in plain text or HTML.
Support for most popular logging Frameworks
Common.Logging provides adapters that support all of the following popular logging targets/frameworks in .NET:
- Log4Net (v1.2.9 - v1.2.15)
- NLog (v1.0 - v4.4.1)
- SeriLog (v1.5.14)
- Microsoft Enterprise Library Logging Application Block (v3.1 - v6.0)
- Microsoft AppInsights (2.4.0)
- Microsoft Event Tracing for Windows (ETW) [overview]
- Log to STDOUT
- Log to DEBUG OUT
Support for most popular .NET Runtime Environments
Common.Logging offers Logging abstractions to support you regardless of the .NET run-time environment you're targeting. Common.Logging supports all of the following popular .NET run-times:- .NET 2.0
- .NET 3.0
- .NET 3.5
- .NET 4.0
- .NET 4.5
- Silverlight 5.0
- Windows Phone 7.x
- Windows Phone 8.x
- WinRT 8.1 (for Windows 8.1 and Windows Phone 8.1)
- Universal Windows Platform 10.0+ (WinRT for Windows 10)
- .NET Core 1.0
Getting Started with Common.Logging
Using Common.Logging in your own Project
The Common.Logging binaries are available via the NuGet package management system.
As seen from the lists above, Common.Logging offers support for a very wide variety of both logging frameworks and .NET run-times. To support this variety, Common.Logging has adopted a highly-modular NuGet packaging strategy. This means that developers need only consume the packages from Common.Logging specifically for their desired combination of .NET run-time, logging framework type, and logging framework version.
Before selecting which Common.Logging package(s) to add to your project, developers are encouraged to visit the Common.Logging Wiki and familiarize themselves with the packaging strategy for Common.Logging explained there.
Contributing to Common.Logging
The Common.Logging project is hosted on GitHub; follow the link at the top of this page to visit the source repository, report any issues, and join in the community!