7

我使用 log4net 在我的 Web 应用程序中记录错误,它工作正常。但是,如果我将相同的代码放在网站中,我会收到错误“无法识别的配置部分 log4net”

这是我的 web.config 部分

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

<root>

  <level value="RELEASE" />

  <appender-ref ref="LogFileAppender" />

</root>

<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >

        <param name="File" value="D:\ESSReport\Logs\ESSlog.log" />

        <param name="AppendToFile" value="true" />

  <rollingStyle value="Size" />

  <maxSizeRollBackups value="5" />

  <maximumFileSize value="4MB" />

  <staticLogFileName value="true" />

  <layout type="log4net.Layout.PatternLayout">

   <param name="ConversionPattern" value="%newline%-5p%d{yyyy-MM-dd hh:mm:ss} [%thread] [%logger] [%line] %newline - %message"  />

  </layout>

</appender>

我已将 dll 添加到我的网站

4

1 回答 1

10

您可能缺少配置部分注册。

以下是如何注册自定义部分的示例代码:

<configuration>
  <configSections>
    <sectionGroup name="LoggerConfiguration">
      <section name="GPWFLogger" type="GP.Solutions.WF.Entities.LoggerConfiguration,GPWFLogger" allowDefinition="Everywhere" allowLocation="true"/>
    </sectionGroup>
  </configSections>

  <LoggerConfiguration>
    <GPWFLogger
      ConnectionStringName="ASPNETDB"
      LogLevel="Full"
      LogPrimaryTarget="SqlServer"
      LogFilePath="GPWFwebClient.log" />     
  </LoggerConfiguration>

注意 LoggerConfiguration 注册在 sectionGroup 中。您可以在您的情况下使用此原则。

于 2012-06-13T09:12:50.070 回答