在Log4net中释放期间关闭调试日志记录

Gra*_*ton 4 log4net

当我在发布模式下编译我的应用程序时,我发现Log4Net仍然记录调试信息; 任何想法如何解决这个问题?

这是我的App.Config文件:

<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
  </configSections>

  <log4net>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
      <param name="File" value="C:\Documents and Settings\test\Application Data\Log.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="%-5p%d{yyyy-MM-dd hh:mm:ss} - %m%n" />
      </layout>
    </appender>
  </log4net>
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

Edd*_*die 14

App.Config文件中没有任何内容告诉log4net在发布或调试模式下执行不同的操作.如果希望两个构建之间的日志记录不同,则必须在两个构建之间更改配置文件.

你最好的选择可能是创建一个App.Config for Release,一个用于Debug,然后按照StackOverflow问题中的建议:

注意:您的发行版和调试App.Config之间的差异将是调试版本中的以下行

<level value="DEBUG" />
Run Code Online (Sandbox Code Playgroud)

与发布版本中的以下行相对应(当然,如果需要,您可以选择ERROR或FATAL):

<level value="INFO" />
Run Code Online (Sandbox Code Playgroud)