次のような機能を備えたロガークラスを作成したいと思います。
Logger log;
log << "Error: " << value << "seen" << endl;
これにより、カスタム形式のメッセージが出力されます。例: 「12-09-2009 11:22:33 エラー 5 が表示されました」
私の単純なクラスは現在次のようになっています。
class Logger {
private:
ostringstream oss;
public:
template <typename T>
Logger& operator<<(T a);
}
template <typename T>
Logger& Logger::operator<<(T a) {
oss << a;
return *this;
}
void functionTest(void) {
Logger log;
log << "Error: " << 5 << " seen";
}
これにより、oss は "Error: 5 seen" というバッファを正しく持つようになります。しかし、何かが画面に表示されるように、他にどの関数を作成/変更する必要があるのか わかりません。これを機能させる方法を知っている人はいますか、またはこのクラスを設計して機能を機能させる別の方法はありますか?