c# - log4net 第二天启动时覆盖我的日志文件

标签 c# log4net log4net-configuration

在这种情况下我对 log4net 有疑问

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

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

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

谢谢

这是我的配置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>

最佳答案

<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>

您是否尝试删除 <rollingStyle value="Composite" />

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

关于c# - log4net 第二天启动时覆盖我的日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27227187/

相关文章:

c# - Log4Net 无法登录应用程序关闭事件

c# - 如何在不使用 CallerInfo 属性的情况下获取 CallerFilePath 和 CallerLineNumber?

c# - Silverlight Accordion 控件 : all collapsed when loaded

c# - 等待操作超时mvc

logging - NLog 是否具有与 log4net 的 ILoggerRepository 等效的概念?

log4net - 如何将配置属性列表读入自定义 log4net 过滤器

c# - 是否可以以分层方式配置 log4net,类似于 .NET 环境处理 app.config 或 web.config 的方式

azure - 如何调试 log4net 不在 Azure 应用服务上写入

c# - 可变范围抽象

c# - 通过服务删除 Windows 登录屏幕