diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2018-01-05 15:56:35 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2018-01-05 15:56:35 +0000 |
commit | db6480dccd9a3dbf4100a824930a36251f4e743c (patch) | |
tree | a36c5be39c86f9888e64076ef44c386e5160c088 /yage/core/logger.h | |
parent | 7b95e3a9eacf296f215c73e5d8ad9090a24adb20 (diff) | |
download | YAGE-db6480dccd9a3dbf4100a824930a36251f4e743c.tar.gz YAGE-db6480dccd9a3dbf4100a824930a36251f4e743c.zip |
[Engine] Log levels added to engine.
Diffstat (limited to 'yage/core/logger.h')
-rw-r--r-- | yage/core/logger.h | 29 |
1 files changed, 26 insertions, 3 deletions
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 <vector> #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<LogSink> sinks_; std::unique_ptr<Active> 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 |