我在 C++ 项目中使用 google logger (glog),其中源代码包含信息项和进度的打印输出:
std::cout << some_useful_stuff << "\n";
我可以使用 GLOG 来记录信息项:
LOG(INFO) << some_useful_stuff << "\n"; \\ gets echoed to stdout
我无法更改std::cout
整个代码库中的所有语句(因为我正在使用来自第三方的一些子存储库等,并且无法向它们添加我自己的日志记录语句),这使我无法使用 if-else 构造(这将是无论如何都很难看,将每个输出语句包装在逻辑中)。
那么如何将stdout
输出复制到 GLog 呢?
std::cout << some_useful_stuff << "\n"; \\ message also goes to LOG(INFO)
可能有用:我实际上不需要同时发生这种情况;有一个像 {CONSOLE, LOGS, BOTH} 这样的选择很有用,但我可以忍受 {CONSOLE, LOGS} 之间更简单的选择。
另外 - 经验丰富的程序员,但 C++ 新手,所以如果这很简单;道歉 - 并提前感谢!