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

时间:2010-11-19 20:48:02

标签: 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>

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

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

1 个答案:

答案 0 :(得分:0)

一般的答案是,您需要打开log4net并对其进行修改以允许此操作。但是,如果您不想自己完成所有的工作,可以使用以下链接中发布的代码作为快速启动:

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