Provides a simple logging abstraction to switch between different logging implementations. There is current support for log4net, NLog and Enterprise Library logging.
Additionally Common.Logging comes with a set of base classes making the integration of any log system a breeze.
See also
- Github
- Source Forge
- Nuget:
Install-Package Common.Logging
This demonstrates how to configure your app to log using the built in Common.Logging console adapter.
Nuget: PM> Install-Package Common.Logging
Then add the relevant sections to your app.config or web.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
</configSections>
<common>
<logging>
<factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">
<arg key="level" value="INFO" />
<arg key="showLogName" value="true" />
<arg key="showDataTime" value="true" />
<arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:fff" />
</factoryAdapter>
</logging>
</common>
</configuration>
There are different packages for each major NLog version. Install the correct package for your referenced NLog version. This example installs the adapter for Nog 2.0:
PM> Install-Package Common.Logging.NLog20
If you are using NLog 3.0, you should install the Common.Logging.NLog30
package and so on.
The app config should then have a common logging section like below. Be sure to match the factoryAdapter type
with your installed Common.Logging.NLogXX
version.
<common>
<logging>
<factoryAdapter type="Common.Logging.NLog.NLogLoggerFactoryAdapter, Common.Logging.NLog20">
<arg key="configType" value="INLINE" />
</factoryAdapter>
</logging>
</common>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
</nlog>
See module documentation and Source Forge for other factoryAdapters and their configuration values
- "bin" contains the Common.Logging distribution dll files
- "doc" contains reference documentation.
- "shared" contains shared nant build scripts
- "modules" contains the sourcecode for Common.Logging.XXXX modules
- "redist" contains redistributable assemblies like log4net for your convenience
The Common Infrastructure Libraries for .NET are released under the terms of the Apache Software License (see license.txt).
- Clone the github repository
- Install Silverlight SDK 5
- [Optional] Install Java for the documenation builder
- Create a strong name key.
c:\netcommon>sn -k common.net.snk
- Build the the solution.
c:\netcommon>build-release.cmd