summaryrefslogtreecommitdiffstats
path: root/raul/log.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'raul/log.hpp')
-rw-r--r--raul/log.hpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/raul/log.hpp b/raul/log.hpp
index cbc9f14..d121290 100644
--- a/raul/log.hpp
+++ b/raul/log.hpp
@@ -1,5 +1,5 @@
/* This file is part of Raul.
- * Copyright 2009-2011 David Robillard <http://drobilla.net>
+ * Copyright 2009-2012 David Robillard <http://drobilla.net>
*
* Raul is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License as published by the Free Software
@@ -18,12 +18,15 @@
#ifndef RAUL_LOG_HPP
#define RAUL_LOG_HPP
+#include <boost/format.hpp>
#include <iostream>
#include <sstream>
#include <string>
namespace Raul {
+typedef boost::basic_format<char> fmt;
+
/** Buffer for (possibly coloured) log printing.
* \ingroup raul
*/
@@ -85,10 +88,18 @@ protected:
int sync() { return 0; }
};
-extern std::ostream info;
-extern std::ostream warn;
-extern std::ostream error;
-extern std::ostream debug;
+class Log : public std::ostream {
+public:
+ Log(std::streambuf* buf) : std::ostream(buf) {}
+ template<typename T> Log& operator()(const T& o) {
+ *this << o; return *this;
+ }
+};
+
+extern Raul::Log info;
+extern Raul::Log warn;
+extern Raul::Log error;
+extern Raul::Log debug;
} // namespace Raul