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