aboutsummaryrefslogtreecommitdiffstats
path: root/yage/core/logger.h
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-11-12 22:30:20 +0000
committerYann Herklotz <ymherklotz@gmail.com>2017-11-12 22:30:20 +0000
commite68759a4101567a27e306eae0a907baa759ae80c (patch)
treec90733351cb7a8a02f91725118593c1c4f19c563 /yage/core/logger.h
parent5fb7c972d44a3ce0a067101885d2e0c1966e7c89 (diff)
downloadYAGE-e68759a4101567a27e306eae0a907baa759ae80c.tar.gz
YAGE-e68759a4101567a27e306eae0a907baa759ae80c.zip
Designing simple preview game
Diffstat (limited to 'yage/core/logger.h')
-rw-r--r--yage/core/logger.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/yage/core/logger.h b/yage/core/logger.h
index 6829327e..2c70fd04 100644
--- a/yage/core/logger.h
+++ b/yage/core/logger.h
@@ -9,23 +9,35 @@
#ifndef YAGE_CORE_LOGGER_H
#define YAGE_CORE_LOGGER_H
-#include "logmessage.h"
+#include <string>
+#include <vector>
namespace yage
{
+class LogMessage;
+class LogSink;
+
class Logger
{
public:
- LogMessage operator()();
+ explicit Logger();
+
+ LogMessage operator()(const std::string &fileName, int lineNum);
void flush(const LogMessage *msg);
+ void add(const LogSink &sink);
+ void remove(const LogSink &sink);
+ void clear();
static Logger &instance();
+
+private:
+ std::vector<LogSink> sinks_;
};
} // namespace yage
-#define gLog yage::Logger::instance()()
+#define gLog (yage::Logger::instance()(__FILE__, __LINE__))
#endif