2014-01-23 83 views
0

我今天發現我們的生產系統在他們的日誌文件中丟失了很多。我們當前的日誌文件包含了所有內容(從午夜到午夜),但是當我查看前一天的日誌時,它會在凌晨1點左右停止。Log4net在滾動後丟失信息

我已經瀏覽了最近幾個月創建的日誌,並且在切割日誌時它非常隨意。主要是它是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文件(我用的鴨綠江!閱讀我們的日誌)。我們log4net的版本是1.2.10(我們無法爲它配備了一個第三方軟件,似乎如果log4net的改變崩潰升級它

EDIT1:

我運行一個CMS站點(EPiServer 6 R2) - IIS7中的.NET4負載均衡(4個服務器+ 1DB)。昨天的日誌記錄爲50MB,滾動到4KB的日誌。

+0

你能解釋一下你的系統嗎?如果它是一個IIS應用程序,它可能是因爲缺乏使用而進入休眠狀態。 –

+0

添加更多信息@EricScherrer – Luke

+0

當你說翻過來,你的意思是當它切斷了昨天的日誌並開始了一個新文件時,最後一次檢查它時只有4KB? –

回答

0

我有同樣的問題,滾動文件只保存日誌行從凌晨2點開始,每天在appPool回收利用,並且前一天的所有行都沒有了。例如,問題可能是由於在解決方案中有多個網站導致的,其中不同網站loc k日誌文件。 這解決了我的問題,並且還提供了從所有負載均衡服務器登錄到同一個日誌文件的可能性,這可能非常有用!

http://log4netremotelogging.codeplex.com/

+0

謝謝,我會試試看。看起來很有希望。 – Luke