外部ツールを使用するログ ライブラリを作成しようとしています。
ライブラリを使用するプログラマーへの影響を最小限に抑えながら、外部ツールによる解析を支援するためにキー文字列を出力ストリームに追加する便利な方法を探しています
目標は、次のようなものを達成することです。
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# ではenum
、書き込み動作を実現するために を使用できますが、これを C++ でエレガントに実装するにはどうすればよいでしょうか。