首页 > 解决方案 > “log4net:错误 XmlHierarchyConfigurator:找不到属性 [评估器] 在 [log4net.Appender.RollingFileAppender] 上设置对象”

问题描述

即使配置文件中提供了 evaluator 属性,log4net 配置也会出现以下错误。你能帮忙吗?

错误:

log4net:错误 XmlHierarchyConfigurator:找不到属性 [evaluator] 在 [log4net.Appender.RollingFileAppender] 上设置对象

配置:

<?xml version="1.0"?> <configuration>   <log4net>
    <appender name="logFileError" type="log4net.Appender.RollingFileAppender,log4net">
      <file value="C:\Users\E0433988\Documents\Logs\Wrapper\Error.log"/>
      <appendToFile value="true"/>
      <maximumFileSize value="100KB"/>
      <maxSizeRollBackups value="2"/>
      <rollingStyle value="Date"/>
      <datePattern value="_yyyy_MM_dd"/>
      <maxSizeRollBackups value="30"/>
      <staticLogFileName value="true"/>
      <evaluator type="log4net.Core.LevelEvaluator">
        <threshold value="ERROR"/>
      </evaluator>
      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="ERROR"/>
      </filter>
      <filter type="log4net.Filter.DenyAllFilter"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %-5level %thread %logger - %message%newline"/>
      </layout>
    </appender>
    <appender name="logInfo" type="log4net.Appender.RollingFileAppender,log4net">
      <file value="C:\Users\E0433988\Documents\Logs\Wrapper\Info.log"/>
      <appendToFile value="true"/>
      <maximumFileSize value="100KB"/>
      <maxSizeRollBackups value="2"/>
      <rollingStyle value="Date"/>
      <datePattern value="_yyyy_MM_dd"/>
      <maxSizeRollBackups value="30"/>
      <staticLogFileName value="true"/>
      <evaluator type="log4net.Core.LevelEvaluator">
        <threshold value="INFO"/>
      </evaluator>
      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="INFO"/>
      </filter>
      <filter type="log4net.Filter.DenyAllFilter"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %-5level %thread %logger - %message%newline"/>
      </layout>
    </appender>
    <appender name="logDebug" type="log4net.Appender.RollingFileAppender,log4net">
      <file value="C:\Users\E0433988\Documents\Logs\Wrapper\Debug.log"/>
      <appendToFile value="true"/>
      <maximumFileSize value="100KB"/>
      <maxSizeRollBackups value="2"/>
      <rollingStyle value="Date"/>
      <datePattern value="_yyyy_MM_dd"/>
      <maxSizeRollBackups value="30"/>
      <staticLogFileName value="true"/>
      <evaluator type="log4net.Core.LevelEvaluator">
        <threshold value="DEBUG"/>
      </evaluator>
      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="DEBUG"/>
      </filter>
      <filter type="log4net.Filter.DenyAllFilter"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %-5level %thread %logger - %message%newline"/>
      </layout>
    </appender>
    <appender name="logWarn" type="log4net.Appender.RollingFileAppender,log4net">
        <file value="C:\Users\E0433988\Documents\Logs\Wrapper\Warn.log"/>
        <appendToFile value="true"/>
        <maximumFileSize value="100KB"/>
        <maxSizeRollBackups value="2"/>
        <rollingStyle value="Date"/>
        <datePattern value="_yyyy_MM_dd"/>
        <maxSizeRollBackups value="30"/>
        <staticLogFileName value="true"/>
        <evaluator type="log4net.Core.LevelEvaluator">
            <threshold value="WARN"/>
        </evaluator>
        <filter type="log4net.Filter.LevelMatchFilter">
            <levelToMatch value="WARN"/>
        </filter>
        <filter type="log4net.Filter.DenyAllFilter"/>
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %-5level %thread %logger - %message%newline"/>
        </layout>
    </appender>
    <root>
      <level value="DEBUG"/>
      <appender-ref ref="logFileError"/>
      <appender-ref ref="logInfo"/>
      <appender-ref ref="logDebug"/>
      <appender-ref ref="logWarn"/>
    </root>   </log4net> </configuration>

标签: log4net

解决方案


evaluator只能在派生自的附加程序上 配置BufferingAppenderSkeleton

  • AdoNetAppender,
  • BufferingForwardingAppender
  • RemotingAppender
  • SmtpAppender
  • SmtpPickupDirAppender.

由于RollingFileAppender不是派生自BufferingAppenderSkeleton没有这样的属性来配置。

要解决此问题,请将其从配置中删除。


推荐阅读