diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2018-01-06 11:30:24 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2018-01-06 11:30:24 +0000 |
commit | c7090180503f263c60ec34844992e0e8d4bea85a (patch) | |
tree | 6ecc5b2e16856db49de056738b36e1ba103d3049 /yage/core/logger.h | |
parent | cf4c73f2a75b470a4d4c4167105f92bc46f1926c (diff) | |
parent | 07012cf0982d3f86aebe83b5bdc4a67332c635da (diff) | |
download | YAGE-c7090180503f263c60ec34844992e0e8d4bea85a.tar.gz YAGE-c7090180503f263c60ec34844992e0e8d4bea85a.zip |
Merge branch 'develop'
Diffstat (limited to 'yage/core/logger.h')
-rw-r--r-- | yage/core/logger.h | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/yage/core/logger.h b/yage/core/logger.h index 95af73b0..2423f3c3 100644 --- a/yage/core/logger.h +++ b/yage/core/logger.h @@ -13,19 +13,24 @@ #include <string> #include <vector> +#include "../util/active.h" +#include "loglevel.h" +#include "logmessage.h" +#include "logsink.h" + namespace yage { -class Active; -class LogMessage; -class LogSink; - 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 gLog (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 |