【发布时间】:2021-12-04 10:49:07
【问题描述】:
在大多数开源 C++ 代码中,我可以看到使用了像 Google 日志库 glog 这样的记录器。但是有什么好处呢?我能找到的唯一优势:
- 日志记录是线程安全的,因此首选用于多线程
- 您可以选择严重性级别
所以,如果我不使用多线程并且我不需要严重级别,那么std::cout 可以安全使用还是应该继续使用记录器?为什么?
【问题讨论】:
-
(1) + (2) + (3) 通常可以禁用日志记录 + (4) 您可以将正常输出与日志输出分开。
-
令人惊奇的是,鉴于 C++ 有三个厨房水槽和一个浴缸,没有一个
std::logiostream 可以通过各种方式进行外部配置。 -
cout通常用于写入标准输出(虽然可以重定向)。如果这就是您所需要的,那么只需使用它。 -
顺便说一句,“严重性级别”也可以通过
std::cout << DebugInfo{"something Here"};之类的方法来实现