输出的简单重定向与实现记录器



当您可以将程序输出重定向到文件中时,我想知道实现记录器的好处是什么:runMe>myFile.log

我能想到这样的理由:线程安全性">严重程度";,等等,但是,当明确需要记录器时,我仍然不太相信。

(如果"线程安全"是一个原因,并且没有严重性级别,你能说单线程程序不需要记录器,只需重定向到文件中就可以处理得很好吗?(

If"线程安全";是一个原因,并且没有严重性级别,你能说一个单线程程序不需要记录器,只需重定向到文件中就可以处理得很好吗?

IMO,是的。所有输出加权相等(没有严重性(的单线程程序可以用来重定向输出,也可以用来实现实际的记录器(并且这样做的开销较小(。

也就是说,这假设您的程序没有提供任何有意义的输出;仅日志。否则,您只有stderrstdout用于日志记录和常规输出。一旦程序增长,您可能会发现自己正在实施严重性。

记录器还简化了对多个位置、网络(在某些情况下(位置等的日志记录。这些可以通过命令行通过足够的恶作剧来实现,但需要考虑。

TL;DR:是的,如果你愿意,你可以通过重定向来实现,但如果你的程序增长太多,你可能会发现自己想要严重性,所以请将所有调用都保持一致,如果需要,可以用记录器来代替。

最新更新