我们有一个执行大量日志记录的应用程序。我们登录的介质是 SLC SSD 驱动器,但是我们开始在现场看到一些故障。我们可以关闭日志(我们这样做),有日志级别(我们有)但是有时工程师打开日志以诊断故障并忘记将其关闭,这会导致一段时间后 SSD 出现故障。
查看日志代码,我们将日志条目保存到队列中,每 5 秒迭代一次集合并使用File.AppendAllText
将行写入文件。
根据MSDN,这会写入文件然后关闭它。
什么是更好的机制来实现相同的功能但防止(或减少)对 SSD 的损坏?
在软件启动时打开一个FileStream
,在使用期间写入流并在软件退出之前关闭会更好吗?这将如何缓解磁盘级别的情况?涉及哪些过程以及这比打开文件并立即关闭它更好。使用FileStream
“感觉”更好,但在进行更改之前我需要更具体的理由。
也许还有我们没有考虑过的更好的方法。