无法识别的配置部分log4net

Shr*_*har 40 c# asp.net log4net

我在web.config中有这个代码:

<log4net>
  <root>
    <level value="ALL" />
    <appender-ref ref="LogFileAppender" />
  </root>
  <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="D:\logFileFaculty.txt" />
    <param name="AppendToFile" value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="10MB" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
  </appender>
</log4net>
Run Code Online (Sandbox Code Playgroud)

我已下载log4net.dll并将其放入Bin文件夹中.

在我的一个aspx.cs页面中,我添加了以下代码:

using log4net;
[assembly: log4net.Config.XmlConfigurator(Watch = true)]


private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Run Code Online (Sandbox Code Playgroud)

但它给出了错误Unrecognized configuration section log4net.

Dar*_*rov 83

您需要声明该log4net部分:

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
Run Code Online (Sandbox Code Playgroud)

仔细看看documentation解释必要的事情.

  • 作为C#的一个彻头彻尾的菜鸟,我按照说明(差不多)打开app.config文件,找到另一个<section>元素,然后将log4net粘贴到上面.它.起初我没有意识到我在*sectionGroup>标签内粘贴了*.那没用.所以我终于意识到我的错误并将其直接粘贴在<configSections>元素中.我生命中的20分钟匆匆而粗心. (4认同)