我正在寻找为不同严重程度的日志编写具有多个流的记录器:
class Logger{
public:
std::ostream& errStream;
std::ostream& warnStream;
}
这样我可以像这样使用流:
Logger L;
L.errStream << "This is an error message.";
L.warnStream << "This is a warning message.";
问题是,如何分别为每个流重载 operator<< ?这意味着我想根据写入的流采取不同的行动。
如果有帮助,我已经有 errWrite 和 warnWrite 的成员函数,它们以 std::string 作为参数:
void errWrite(std::string);
void warnWrite(std::string);
要使用这些,我会:
Logger L;
L.errWrite("This is an error message.");
L.warnWrite("This is a warning message.");
这些的问题在于它们没有替代 std::cout 和 std::cerr,我的代码已经填充了它们。我试图开发一些可以轻松放入现有代码的东西。所以最终我想要:
- 一种为不同成员分别重载运算符的方法。
- 我正在尝试做的另一种方法。
谢谢。