【问题标题】:log4net log file modification date older than log entry date. Time machine?log4net 日志文件修改日期早于日志条目日期。时间机器?
【发布时间】:2009-12-14 14:14:42
【问题描述】:

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

差异以天为单位(约 2 天)。这不是一成不变的事情——到目前为止只有一个已知案例。

我不是 log4net 实施方面的专家 - 仅将其用作第 3 方。鉴于下面提供了记录器配置,是否有可能由于 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,但我想这无关紧要。

【问题讨论】:

    标签: c# logging


    【解决方案1】:

    我在 log4net 中也经常看到这一点。报告的日期时间可能只是 log4net 上次打开日志文件以进行写入的日期时间。

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

    [编辑:我刚刚在我的机器上做了一个简单的例子,没有看到你描述的行为,但我以前见过- 可能在 Windows 2003 服务器上(而不是我目前使用的 XP)。看看你是否至少可以消除这种可能性]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-05
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多