jdecuyper jdecuyper - 1 year ago 348
C# Question

Failed obtaining configuration for Common.Logging from configuration section 'common/logging'

I'm trying to configure a console application with the following logging assemblies:

  • Common.Logging.dll (

  • Common.Logging.Log4Net1211.dll (

  • log4net.dll (

If the logger gets configured programmatically then everything works fine:

NameValueCollection properties = new NameValueCollection(); properties["showDateTime"] = "true";
Common.Logging.LogManager.Adapter = new Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter(properties);

But if I try to launch it using the following configuration file, it blows up:

<?xml version="1.0"?>
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />

<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net">
<arg key="configType" value="FILE-WATCH"/>
<arg key="configFile" value="~/Log4NET.xml"/>

These are the relevant error messages:

{"Unable to cast object of type 'System.Configuration.DefaultSection' to type 'System.Configuration.AppSettingsSection'."}

{"Failed obtaining configuration for Common.Logging from configuration section 'common/logging'."}

It seems to being unable to parse my configuration file, does anyone know what the correct format should be or is it something else that's wrong? I created my configuration file using the official documentation.

Answer Source

There are two problems with your application (the one I downloaded):

  1. Your configSections in app.config looks like this:
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>

    <sectionGroup name="common">
        <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

Notice that the log4net-section is declared twice? Remove the first one.

  1. After removing the first log4net-section, I get the following:

Could not load file or assembly 'log4net, Version=, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

I downloaded log4net from the log4net website, unzipped it, unblocked the dll and replaced the log4net in your example and it seems to work.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download