LaunchDarkly Logging API for .NET - Common.Logging Adapter
(version 1.0.1)
This .NET package provides integration from the LaunchDarkly.Logging API that is used by the LaunchDarkly .NET SDK, Xamarin SDK, and other LaunchDarkly libraries, to the Common.Logging framework.
This adapter is published as a separate NuGet package to avoid unwanted dependencies on Common.Logging in the LaunchDarkly SDKs and in applications that do not use that framework.
Usage
The LdCommonLogging adapter is provided by the NuGet package LaunchDarkly.Logging.CommonLogging. It provides integration with Common.Logging version 3.4.0 and higher.
Like LaunchDarkly.Logging, Common.Logging is a facade that can delegate to various adapters, sending the output either to some specific logging framework, or to a simple destination such as the console. Therefore, the LaunchDarkly adapter for Common.Logging is a facade for a facade.
LaunchDarkly.Logging already has adapters of its own for some of the same destinations that Common.Logging can delegate to. For instance, to send log output from LaunchDarkly components to the console, or to a file, or to the .NET Core Microsoft.Extensions.Logging API, you do not need to use Common.Logging; you can simply use the methods in LaunchDarkly.Logging.Logs. This adapter is only useful in two situations:
- You have an application that is already using
Common.Logging(such as an application that was built with an older version of the LaunchDarkly .NET SDK or Xamarin SDK, which previously always logged toCommon.Logging). - Or, you want to use some destination that
Common.Loggingalready integrates with andLaunchDarkly.Loggingcurrently does not.
To use the adapter:
Add the NuGet package
LaunchDarkly.Logging.CommonLoggingto your project. Make sure you also have a dependency on a compatible version ofCommon.Logging.Use the property LdCommonLogging.Adapter in any LaunchDarkly library configuration that accepts a
LaunchDarkly.Logging.ILogAdapterobject. For instance, if you are configuring the LaunchDarkly .NET SDK:
using LaunchDarkly.Logging;
using LaunchDarkly.Sdk.Server;
var config = Configuration.Builder("my-sdk-key")
.Logging(LdCommonLogging.Adapter)
.Build();
var client = new LdClient(config);
LdCommonLogging.Adapter does not have any configuration methods of its own; what happens to the log output is entirely determined by the Common.Logging configuration.