我想知道,当您可以将程序输出重定向到一个文件: runMe > myFile.log时,实现记录器的优点是什么?
我可以想出一些理由,比如"thread-safety",“严重程度级别”等等,但是,当一个记录器被解释为需要时,我还是不那么确信。
(如果“线程安全”是一个原因,而且没有严重级别,那么您能不能说单线程程序不需要记录器,只需将其重定向到一个文件就可以很好地处理?)
发布于 2020-08-01 22:04:21
如果“线程安全”是一个原因,并且没有严重级别,那么您能不能说单线程程序不需要记录器,只需重定向到一个文件就可以很好地处理?
海事组织是的。一个单线程程序,其所有输出都是同等加权的(没有严重),可以用于重定向输出,就像实现一个实际的记录器一样(并且这样做的开销更小)。
也就是说,这假设您的程序没有提供任何有意义的输出;只记录日志。否则,您只能获得日志记录和常规输出的stderr和stdout。一旦程序增长,您可能会发现自己正在执行严重的任务。
记录器还简化了登录到多个位置、网络位置(在某些情况下)等。这些可以通过命令行实现,有足够的诡计,但需要考虑。
是的,如果你想要的话,你可以重定向,但是如果你的程序增长过快,你可能会发现你自己想要严重的东西,所以如果需要的话,打所有的电话给一致的东西,你可以用记录器代替。
https://stackoverflow.com/questions/63206520
复制相似问题