log4net日志文件修改日期早于日志输入日期。时间机器?

时间:2009-12-14 14:14:43

标签: c# logging

我们有来自客户的这个奇怪的错误报告:“日志文件的最后修改日期早于其中的日志条目时间戳”。

差异在几天(~2天)。这不是一件永恒的事情 - 到目前为止只有一个已知案例。

我不是log4net实现的大师 - 仅将其用作第三方。鉴于提供了记录器配置,是否有任何可能导致在log4net RollingFileAppender概念中出现错误配置或误解的原因?

只对log4net感兴趣是一个问题的可能来源(即我明白,有外部方法可以实现这一点......也许是一些糟糕的日志文件管理工具,它错误地修改了日期)

<appender name="CustomAppender" type="log4net.Appender.RollingFileAppender">
  <param name="File" value="log.txt" />
  <param name="AppendToFile" value="true" />
  <param name="MaxSizeRollBackups" value="2" />
  <param name="RollingStyle" value="Size" />
  <param name="StaticLogFileName" value="true" />
  <param name="MaximumFileSize" value="100MB" />
  <layout type="log4net.Layout.PatternLayout,log4net">
    <conversionPattern value="%date %-5level %message%newline" />
  </layout>
</appender>
<logger name="CustomLogger" additivity="false">
  <level value="ALL" />
  <appender-ref ref="CustomAppender" />
</logger>

代码的使用是直接的(简化):

LogManager.GetLogger("CustomLogger").Info("Message");

log4net版本:1.2.10.0 该应用程序是一个Windows服务。语言 - C#3.0,但我想这没关系。

1 个答案:

答案 0 :(得分:0)

我也会不时地看到log4net。报告的日期时间可能只是上次打开日志文件以供log4net写入的日期时间。

在文件再次关闭之前,它可能不会更新文件日期时间。

[编辑:我刚刚在我的机器上本地绑定了一个简单的示例,并且没有看到您描述的行为,但我之前看过它 - 可能在Windows 2003服务器上(与我目前使用的XP相反)。看看你是否至少可以消除这种可能性]