2011-07-21 7 views
9

Me estoy poniendo la siguiente excepción cuando intento llamarCommon.Logging excepción config

var log = LogManager.GetLogger(this.GetType()); 

Una primera excepción del tipo 'Common.Logging.ConfigurationException' producido en Common.Logging.dll

Una excepción unhanded del tipo 'Common.Logging.ConfigurationException' producido en Common.Logging.dll

información adicional: commo No se pudo obtener de configuración para Common.Logging de sección de configuración' n/logging '.

Esta es una aplicación .NET 4 con referencias a

  • log4net.dll
  • Common.Logging.dll
  • Common.Logging.log4net.dll

mi app.config tiene lo siguiente:

<?xml version="1.0"?> 
<configuration> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 
    <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="ALL" /> 
       <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>  

Estoy intentando llamar así:

var log = LogManager.GetLogger(this.GetType()); 
log.Debug(m => m("testing")); 

¿Qué me falta?

Respuesta

28

Corre bien si elimina el elemento startup de su configuración.

EDITAR: En lugar de eliminar, simplemente mueva el elemento de inicio después de las configuraciones.

+0

Whoa! De hecho, elimine eso y funciona. puntos extra si dices 'por qué'. – Jahmic

+1

Creo que se debe a la forma en que se valida o carga el esquema de configuración. – Klinger

+0

¡lindo! Esta respuesta sigue siendo válida para VS2012/.Net 4.5, Common.Logging 2.1.1, Common.Logging.Log4Net 2.0.0 y log4net 1.2.10 –