最近我一直在进行一些深入的工作,想知道你认为哪种日志记录方式更好。
A. 每次想要写入日志时,打开文件、写入内容,然后立即关闭文件,这样在发生关键性故障或崩溃时不会真正丢失信息。
B. 定期保存,可能在每个主要部分完成后保存,这意味着我可以缩小错误范围。
还有其他建议吗?对于需要记录的大量文本,我不想整天打开和保存,但也不想失去信息的详细程度。我在使用C++编写代码,很抱歉之前没有提到。
file.flush();
一切等待编写的内容都已经编写完成。需要注意的是,std::endl;
也会调用flush
函数。所以,在输出完信息后,只需保持文件打开状态并进行刷新即可。
如何选择正确的库?你真正需要担心的是你想要什么样的日志以及你所处的开发阶段。分类你的消息并查看库是否支持以明确和一致的方式对它们进行分类。你需要为你的消息使用多个接收器吗?你的库是否支持这一点?如果你的代码已经在生产中,你将需要更多的担心。你需要一个事务性日志系统吗?你需要操作的原子性(因此需要日志)吗?你需要能够回滚消息的能力吗?
希望这可以帮助到你。