NLogのFileTargetオブジェクトには、「keepFileOpen」というプロパティ(bool)があります。デフォルトでは、このプロパティはfalseに設定されています。これは、各ログイベントがファイルを開き、ファイルに書き込み、ファイルを閉じることを意味します。
パフォーマンスへの影響は非常に大きいため、「keepFileOpen」をfalseではなくtrueに指定しました。これは、ファイルが1回だけ開かれることを意味します。
このプロパティがデフォルトで「false」に設定され、ロギングで大きなパフォーマンスヒットが発生する理由を誰かが知っている(または単に知っている)でしょうか?
このプロパティをtrueに設定すると、問題が発生する可能性があるシナリオはありますか(したがって、デフォルトで「false」に設定するのが理にかなっています)。
ありがとう !
編集
基本レイアウトのパフォーマンス測定、ロガーへの100Kイベントの書き込み:
- keepFileOpen = false(デフォルト):〜101秒
- keepFileOpen = true:〜1秒