我正在尝试编写一个使用外部工具的日志库
我正在寻找一种方便的方法来将键字符串添加到输出流中,以帮助外部工具进行解析,同时对使用库的程序员的影响最小
目标是实现这样的目标:
cout << DEBUG::VERBOSE << "A should equal 3" << endl;
cout << DEBUG::WARNING << "something went wrong" << endl;
现在我的数据结构如下
struct Debug
{
static const std::string FATAL_ERROR;
static const std::string ERROR;
static const std::string WARNING;
static const std::string IMPORTANT;
static const std::string INFORMATION;
static const std::string VERBOSE;
static const std::string DEBUG;
};
这有效,但我想从std::string
类型中添加一个抽象级别。
在 Java/C# 中,我可以使用 anenum
来实现写入行为,如何在 C++ 中优雅地实现它。