NLog中的FileTarget對象具有名爲「keepFileOpen」的屬性(bool)。 默認情況下,此屬性設置爲false,這意味着每個日誌事件將打開文件,寫入文件並關閉文件。NLog File target和keepFileOpen標誌
在性能方面的打擊是巨大的,所以我指定「keepFileOpen」爲true,而不是false,這意味着該文件將只打開一次。
有沒有人有一個想法(或只是知道)爲什麼這個屬性默認設置爲「false」,導致記錄巨大的性能打擊?
是否有任何情況下將此屬性設置爲true可能會導致問題(因此將其默認爲「false」)會有意義。
謝謝!
EDIT
性能測量爲基本佈局,寫100K事件記錄器:
- keepFileOpen = false(默認):〜101秒
- keepFileOpen =真:〜1秒