From db6480dccd9a3dbf4100a824930a36251f4e743c Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Fri, 5 Jan 2018 15:56:35 +0000 Subject: [Engine] Log levels added to engine. --- yage/core/logger.h | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) (limited to 'yage/core/logger.h') diff --git a/yage/core/logger.h b/yage/core/logger.h index d1f75aec..2423f3c3 100644 --- a/yage/core/logger.h +++ b/yage/core/logger.h @@ -14,6 +14,7 @@ #include #include "../util/active.h" +#include "loglevel.h" #include "logmessage.h" #include "logsink.h" @@ -23,9 +24,13 @@ namespace yage class Logger { public: - explicit Logger(); + Logger(); + explicit Logger(const std::string &file_path); + explicit Logger(LogLevel min_level); + Logger(LogLevel min_level, const std::string &file_path); - LogMessage operator()(const std::string &fileName, int lineNum); + LogMessage operator()(LogLevel level = LogLevel::INFO, const std::string &fileName = "", + int lineNum = -1); void flush(const LogMessage *msg); void add(const LogSink &sink); @@ -34,13 +39,31 @@ public: static Logger &instance(); + // setter for the level + void setLevel(LogLevel min_level); + private: std::vector sinks_; std::unique_ptr active_; + LogLevel min_level_; }; } // namespace yage -#define yLog (yage::Logger::instance()(__FILE__, __LINE__)) +#define yLogger (yage::Logger::instance()) + +#define yLogDebug \ + (yage::Logger::instance()(yage::LogLevel::DEBUG, __FILE__, __LINE__)) + +#define yLogInfo (yage::Logger::instance()(yage::LogLevel::INFO, __FILE__, __LINE__)) + +#define yLogWarning \ + (yage::Logger::instance()(yage::LogLevel::WARNING, __FILE__, __LINE__)) + +#define yLogError \ + (yage::Logger::instance()(yage::LogLevel::ERROR, __FILE__, __LINE__)) + +#define yLogFatal \ + (yage::Logger::instance()(yage::LogLevel::FATAL, __FILE__, __LINE__)) #endif -- cgit