Common.Logging配置。使用log4net适配器的麻烦

时间:2012-03-06 20:59:16

标签: .net log4net app-config log4net-configuration

得到以下异常

  

无法从配置中获取Common.Logging的配置   'common / logging'部分。

尝试运行下一个代码时

Common.Logging.ILog logger = Common.Logging.LogManager.GetCurrentClassLogger();

App.Config中:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
    </sectionGroup>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>

  <common>
    <logging>
      <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net">
        <arg key="configType" value="INLINE" />
      </factoryAdapter>
    </logging>
  </common>

  <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="FileAppender" />
    </root>
    <appender name="FileAppender" type="log4net.Appender.FileAppender" >
      <param name="File" value="log.txt" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
      </layout>
    </appender>
  </log4net>

  <connectionStrings>
    <add name="ManagementEntities" connectionString="metadata=res://*/Model.ManagementModel.csdl|res://*/Model.ManagementModel.ssdl|res://*/Model.ManagementModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\Data\Management.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

1 个答案:

答案 0 :(得分:0)

以上配置对我来说似乎是正确的(除非我遗漏了一些明显的东西),&amp;当我复制一个在另一个项目中工作的配置时,我遇到了类似的问题 - 事实证明我使用的是.NET Framework的“Client Profile”版本作为目标。

要更改此设置,请右键单击解决方案资源管理器上的项目。选择属性。如果“目标框架”下拉列表显示为.NET Framework X Client Profile,请将其切换为.NET Framework X,其中X是您正在使用的.NET版本。