【问题标题】:Simple Redirection of outputs vs. Implementing a logger输出的简单重定向与实现记录器
【发布时间】:2020-08-01 14:49:20
【问题描述】:

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

我可以想到诸如“线程安全”、“严重性级别”等原因,但是,当记录器被明确表示时,我仍然不相信需要。

(如果“线程安全”是一个原因并且没有严重级别,您能说单线程程序不需要记录器并且只需重定向到文件即可处理吗?)

【问题讨论】:

    标签: c++ logging io-redirection fileoutputstream


    【解决方案1】:

    如果“线程安全”是一个原因并且没有严重性级别,您能说单线程程序不需要记录器并且只需重定向到文件即可处理吗?

    国际海事组织,是的。所有输出的权重均等(无严重性)的单线程程序可以很好地重定向输出,也可以实现实际的记录器(而且开销更少)。

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

    Loggers 还简化了对多个位置、网络位置(在某些情况下)等的日志记录。这些可以通过命令行使用足够的诡计来实现,但是有些考虑。

    TL;DR:是的,如果您愿意,您可以通过重定向来实现,但如果您的程序增长过多,您可能会发现自己需要严重性,因此将所有调用都设置为一致的东西,您可以将其替换为如果需要,记录器。

    【讨论】:

      猜你喜欢
      • 2013-10-20
      • 2011-07-04
      • 2012-03-13
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      • 2016-04-28
      • 2015-05-03
      • 2012-03-06
      相关资源
      最近更新 更多