Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XmlHierarchyConfigurator出现Log4net错误。缺少筛选器属性_Log4net_Log4net Configuration_Log4net Filter - Fatal编程技术网

XmlHierarchyConfigurator出现Log4net错误。缺少筛选器属性

XmlHierarchyConfigurator出现Log4net错误。缺少筛选器属性,log4net,log4net-configuration,log4net-filter,Log4net,Log4net Configuration,Log4net Filter,我们的一个WebAPI最近停止输出日志。在跟踪文件中,我们收到以下消息: log4net:错误XmlHierarchyConfigurator:找不到属性[filter],无法在[log4net.Repository.Hierarchy.Hierarchy]上设置对象 配置文件如下所示,我假设错误中的过滤器与配置中的过滤器相同,所以我不确定为什么找不到它。 我升级到了log4net的最新版本,这解决了问题几天,然后我们又出现了“找不到属性[filter]”错误。在此期间,配置文件没有任何更改 &

我们的一个WebAPI最近停止输出日志。在跟踪文件中,我们收到以下消息:

log4net:错误XmlHierarchyConfigurator:找不到属性[filter],无法在[log4net.Repository.Hierarchy.Hierarchy]上设置对象

配置文件如下所示,我假设错误中的过滤器与配置中的过滤器相同,所以我不确定为什么找不到它。 我升级到了log4net的最新版本,这解决了问题几天,然后我们又出现了“找不到属性[filter]”错误。在此期间,配置文件没有任何更改

<configuration>
  <configSections>
    <section name="log4net"
        type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="RollingFileAppender"/>
    </root>
    <filter type="log4net.Filter.LevelMatchFilter">
      <acceptOnMatch value="true" /> <!--change to false to exclude info logs -->
      <levelToMatch  value="INFO" />
    </filter>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="Logs/Log.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="1001KB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level: %message%newline" />
      </layout>
    </appender>
  </log4net>

</configuration>

奇怪的是,它工作了一段时间,停止了,升级了,工作了一段时间,停止了。我不知道有什么可以改变,使它停止工作的任何时候


提前感谢您的帮助。

您的配置无效。
只能在追加器中定义筛选器

报告提到:

过滤器元素只能定义为的子元素 元素

将过滤器定义移动到appender,如下所示

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <filter type="log4net.Filter.LevelMatchFilter">
        <acceptOnMatch value="true" /> <!--change to false to exclude info logs -->
        <levelToMatch  value="INFO" />
    </filter>
    <file value="Logs/Log.txt" />
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="1001KB" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level: %message%newline" />
      </layout>
</appender>

(我无法解释为什么错误只发生在特定/随机时间;可能(重新)发生在配置时,例如网站/应用程序域回收后)…
最后,Log4net试图尽可能地继续下去