在 utc 日期而不是服务器日期滚动文件

nsd*_*div 5 time log4net utc rollingfileappender

这是我的 log4net.xml 文件

<log4net>
  <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
    <file value="C:\MVC2-" > </file>
    <appendToFile value="true" />
    <rollingStyle value="Date" />
    <datePattern value="yyyy'-'MM'-'dd'.log'" />

    <dateTimeStrategy type="log4net.Appender.RollingFileAppender+UniversalDateTime" />

    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

    <staticLogFileName value="false" />

    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%utcdate %level %property{requestId} %thread %logger - %message%newline" />
    </layout>
  </appender>

  <root>
    <level value="DEBUG" />
    <appender-ref ref="RollingFile" />
  </root>
</log4net>
Run Code Online (Sandbox Code Playgroud)

日志日期采用 UTC,但文件会在服务器时间滚动到第二天。这会导致几个小时的日志记录在错误的文件中。

如何根据 UTC 时间使文件翻转?

IAm*_*rey 1

一般的答案是您需要打开 log4net 并修改它以允许这样做。但是,如果您不想自己完成所有跑腿工作,您可以使用下面链接中发布的代码作为快速启动:

http://old.nabble.com/svn-commit%3A-r398209----logging-log4net-trunk-src-Appender-RollingFileAppender.cs-to4156618.html#a4156618