我今天发现我们的生产系统在日志文件中丢失了很多。我们当前的日志文件包含所有内容(从午夜到午夜)但是当我查看前一天的日志时,它会在凌晨1点左右停止。
我已经查看了过去几个月创建的日志,并且在删除日志时非常随机。大部分是在2400到0300之间。
<appender name="fileLogAppender" type="log4net.Appender.RollingFileAppender" >
<file name="filename" value="..\Logs\Errors.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) - IIS4负载均衡的.NET4(4台服务器+ 1DB)。昨天的50MB日志被转换为4KB的日志。
答案 0 :(得分:0)
我遇到了同样的问题,滚动文件只保存了午夜的日志行,直到凌晨2点每天回收appPool,前一天的所有行都消失了。例如,问题可能是由于您的解决方案中有多个站点导致不同站点锁定日志文件。 这解决了我的问题,并且还可以从所有负载平衡服务器登录到同一个日志文件,这可能非常有用!