log4net丢失了滚动后的信息



我今天发现我们的生产系统从其日志文件中丢失了很多。我们当前的日志文件包含所有内容(从午夜到午夜),但是当我查看前一天的日志时,它在凌晨1点左右停止。

我已经浏览了过去几个月内创建的日志,在剪切时,这是非常随机的。通常在2400和0300之间。

<appender name="fileLogAppender" type="log4net.Appender.RollingFileAppender" >
    <file name="filename" value="..LogsErrors.xml" />
    <encoding value="utf-8" />
    <appendToFile value="true" />
    <rollingStyle value="Date" />
    <datePattern value="yyyyMMdd"/>
    <threshold value="ERROR" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <layout type="log4net.Layout.XmlLayoutSchemaLog4j">
      <locationInfo value="true"/>
    </layout>
  </appender>
<root>
    <level value="Debug" />
    <appender-ref ref="fileLogAppender" />
  </root>

这会吐出错误的XML文件(我使用Yalv!用于阅读我们的日志)。我们的log4net版本是1.2.10(我们无法升级它,因为它带有第三方软件,如果Log4net已更改,该软件似乎会崩溃。

edit1:

我正在运行一个CMS站点(Episerver 6 R2) - .NET4在IIS7负载平衡(4个服务器 1dB)中。昨天的50MB日志被翻转为4KB的日志。

我遇到了相同的问题,滚动文件仅在午夜从午夜节省了日志行,直到每天在凌晨2点对Apppool进行每日回收,并且从前一天开始的所有行都消失了。例如,问题可能是由于解决方案中有多个站点而引起的,其中不同的站点锁定了日志文件。这解决了我的问题,并且还可以从所有负载平衡的服务器中登录相同的日志文件,这真的很有帮助!

http://log4nnetremotelogging.codeplex.com/

最新更新