c# – Log4Net日志显示在控制台窗口中

我遇到了与大多数人使用Log4net相反的问题.我有一个基本的滚动日志追加器,我在后面的代码中使用INFO,WARN和ERROR级别.我在app.config中关闭了调试.除了滚动日志追加器之外,它仍然将日志数据推送到控制台窗口.

我该如何阻止这种行为?它使控制台窗口成为一场噩梦.

我的配置:

<log4net debug="false">
  <appender name="RollingFileAppender"
            type="log4net.Appender.RollingFileAppender">
    <file type="log4net.Util.PatternString"
          value="milliondollars.log"/>
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <rollingStyle value="Composite"/>
    <filter type="log4net.Filter.LevelRangeFilter">
      <acceptOnMatch value="true" />
      <levelMin value="INFO" />
      <levelMax value="FATAL" />
    </filter>
    <datePattern value="yyyyMMdd"/>
    <maxSizeRollBackups value="100"/>
    <maximumFileSize value="15MB"/>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date %-5level %logger: %message%newline" />
    </layout>
  </appender>
  <root>
    <level value="ALL" />
    <appender-ref ref="RollingFileAppender" />
  </root>
</log4net>

最佳答案 根据您提供的其他信息,我可以看到几件事.首先,您要记录所有消息(包括DEBUG消息).您只是没有显示log4net调试信息.至于为什么要写入控制台窗口,我建议查看记录器消息的包装器.也许你正在那里写控制台.

此外,在调试模式下完成程序的执行.查看哪些行正在写入您的控制台.

点赞