NLog 中的 FileTarget 对象有一个名为“keepFileOpen”的属性(布尔值)。默认情况下,此属性设置为 false,这意味着每个日志事件都会打开文件、写入文件并关闭文件。
对性能的影响很大,所以我将“keepFileOpen”指定为 true,而不是 false,这意味着文件只会打开一次。
是否有人知道(或只是知道)为什么此属性默认设置为“false”,从而对日志记录造成巨大的性能影响?
是否存在将此属性设置为 true 会导致问题的任何情况(因此将其默认为“false”是有意义的)。
谢谢 !
编辑
基本布局的性能测量,将 100K 事件写入记录器:
- keepFileOpen = false(默认):~ 101 秒
- keepFileOpen = true : ~ 1 秒