微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 为什么log4net在配置之前创建一个空的日志文件?

由于某种原因,我的log4net在我的调试/发布文件夹中创建了一个空日志文件.示例文件名是“(null)20150409.txt”.

我不知道如何告诉它不要这样做.我正在以编程方式配置log4net,但是这个空文件是在实际运行配置例程之前创建的,可能是App.config文件本身的结果.

这是App.config文件

<?xml version="1.0"?>
    <configuration>

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

  <log4net>
    <root>
      <level value="ALL"/>
      <appender-ref ref="LogFileAppender"/>
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
      <!--http://logging.apache.org/log4net/release/config-examples.html-->
      <!--http://logging.apache.org/log4net/release/faq.html-->

      <!--<param name="File" value="C:\Images\log-file.txt" />-->
      <file type="log4net.Util.PatternString" value="%property{LogFileName}"/>

      <staticLogFileName value="false"/>
      <param name="AppendToFile" value="true"/>
      <rollingStyle value="Date"/>
      <datePattern value="' 'yyyyMMdd'.txt'"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
      </layout>
    </appender>
  </log4net>

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
  </startup>

</configuration>

这是C#配置代码(看起来工作正常):

log4net.GlobalContext.Properties["LogFileName"] = LogFileName;  
// Full path to log file
log4net.Config.XmlConfigurator.Configure();
Log.Debug("CV3 Launched with log file located here: " + LogFileName);

如何在不影响正常工作的其余日志记录的情况下防止创建此空文件

解决方法

我也有同样的问题.进行研究( here,herehere),错误是因为你已经调用了log4net.Config.XmlConfigurator.Configure();在设置log4net属性之前.

如果你像我一样,很可能你已经在AssemblyInfo.cs文件中再次配置了log4net.因为AssemblyInfo中的记录器将首先被加载,所以每次应用程序启动时它都会创建另一个(null)文件.

希望能帮助到你.

@H_404_38@

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐