2012-05-31 19 views
0

我正在使用FileAppender登錄到我的應用程序中的文件。 現在我開始使用MemoryAppender從日誌中獲取錯誤並將它們存儲在數據庫中。這是爲了顯示在我查詢數據庫的ui上的異常/錯誤。在Log4net中使用MemoryAppender和FileAppender

雖然我看到錯誤正確地插入到數據庫中,但我發現它們從日誌中丟失。

我在某處讀取MemoryAppender只寫入內存。 但是,當我同時配置FileAppender和MemoryAppender時,是不是也應該寫入日誌文件?

是否有解決方法,我仍然可以將錯誤記錄到文件中?

回答

0

我不確定你使用MemoryAppender。您可以使用AdoNetAppender並將日誌條目直接存儲到數據庫。

如果我理解正確,那麼你的問題是關於文件中缺少的日誌。 Log4net應該將所有日誌條目發送給所有已配置的appender,除非您已明確配置它不這樣做。我不認爲你配置了任何防止某些消息被寫入文件的過濾器。所以,也許你有鎖定文件的問題(內部調試應該揭示這個問題,見log4net FAQ)。

如果是這樣,你可以嘗試使用此爲您的文件的appender的情況:

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

然而這對性能產生影響,你應該嘗試找出爲什麼你已經鎖定問題。