【问题标题】:log4net Overwrite my log file when start next daylog4net 第二天开始时覆盖我的日志文件
【发布时间】:2014-12-01 11:15:53
【问题描述】:

在这种情况下我遇到了 log4net 的问题

  1. 今天是 2014 年 11 月 30 日
  2. 当前日志文件名为 log.txt
  3. 日志文件一整天都在积累。
  4. 第二天(01/12/2014),日志文件存在于 log.txt20141130
  5. 但是当我打开日志文件时,从 2011 年 30 月开始的所有条目都丢失了,日志中仅包含极少数日期为 2014 年 1 月 12 日午夜之后的条目。

现在我每天都在丢失我的日志,因为它们会被午夜之后的前几条日志覆盖。

有什么办法可以防止这种情况发生吗?

谢谢

这是我的配置 log4net 文件

   <appender name="Test" type="log4net.Appender.RollingFileAppender">
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <file value= "C:\Test\Log\log.txt" />
    <appendToFile value="true" />
    <rollingStyle value="Composite" />
    <datePattern value="yyyyMMdd" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="1MB" />
    <layout type="log4net.Layout.PatternLayout">
     <conversionPattern value="%date|%level|%thread|%property{function}|%property{flowid}|%message%newline" />
    </layout>
  </appender>

【问题讨论】:

    标签: c# log4net log4net-configuration


    【解决方案1】:
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value=".\\Log\\log.txt" />
      <appendToFile value="true" />
      <maximumFileSize value="10MB" />
      <maxSizeRollBackups value="2" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date:%level %thread %logger - %message%newline" />
      </layout>
    </appender>
    

    你试过删除&lt;rollingStyle value="Composite" /&gt;

    以上是我的 log4net 配置,它按预期滚动文件,前几天的日志全部可用。

    【讨论】:

    • 我尝试删除标签 rollingStyle ,但日志文件的结果与删除之前相同。
    【解决方案2】:

    我遇到了同样的问题,它看起来像是 log4net 中的一个错误。

    我最终得到了

    <staticLogFileName value="false" />
    <datePattern value=".yyyyMMdd" />
    

    所以我现在没有通用的 log.txt 文件,log4net 直接记录到名称中带有日期戳的文件,但至少它可以在午夜前后正常工作。

    【讨论】:

      猜你喜欢
      • 2018-09-01
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 2015-12-15
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      相关资源
      最近更新 更多