log4net 不在单独的文件中记录错误和致命错误

log4net not logging errors and fatal in separate file

我试图将错误和致命错误分离到单独的日志文件中,但我没有看到它在单独的文件中记录。这是我的配置文件。你能指出我犯了什么错误吗?

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file type="log4net.Util.PatternString" value="C:\NinjaTraderLogs\NinjaLogs.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="5" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %level  (%property{method}) (%property{state})   (%property{instrument}) - %message%newline" />
      </layout>
   <level value="All" />
    </appender>
       <appender name="FatalError" type="log4net.Appender.RollingFileAppender">
      <file type="log4net.Util.PatternString" value="C:\NinjaTraderLogs\NinjaLogs_Fatal.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="5" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %level  (%property{method}) (%property{state})   (%property{instrument}) - %message%newline" />
      </layout>
   <filter type="log4net.Filter.LevelRangeFilter">
     <levelMin value="ERROR" />
     <levelMax value="FATAL" />
  </filter>
    </appender>
    <root>
     
      
      <appender-ref ref="RollingFileAppender" />
    </root>
  </log4net>
</configuration>
 

<root>

下再创建一个 appender ref,如下所示
<root>           
  <appender-ref ref="RollingFileAppender" />
  <appender-ref ref="FatalError" />
</root>

在调用登录代码之前,请确保调用 XmlConfigurator 函数 Configure(全局调用),例如

log4net.Config.XmlConfigurator.Configure();

最后但并非最不重要的一点是,确保您对尝试创建日志文件的目录具有写入权限。我建议您检查一次 windows 事件日志 Application 日志以查看是否发生任何错误。