A portable logging abstraction for .NET
XSLT C# Shell CSS Perl ASP
Pull request Compare This branch is 276 commits behind net-commons:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
examples
lib
nuget-graphics
package-nuget
src
test
tools
.gitignore
Common.Logging.2010-net20.sln
Common.Logging.2010.sln
Common.Logging.2013.sln
Common.Logging.build
Common.Logging.ndoc
build-ci.cmd
build-dev.cmd
build-package.cmd
build-release.cmd
build.cmd
changelog.txt
license.txt
readme.md
release-checklist.txt

readme.md

Common.Logging .NET

Project Build Status

Build status

Introduction

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

Console Quickstart

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>

NLog Quickstart

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

Solution Layout

  • "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).

Building

  • 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