diff options
author | Jürgen Gehring <juergen.gehring@bmw.de> | 2015-07-28 06:46:54 -0700 |
---|---|---|
committer | Jürgen Gehring <juergen.gehring@bmw.de> | 2015-07-28 06:46:54 -0700 |
commit | 3d2fb21d0e93b6b595610285e910ac80c099a174 (patch) | |
tree | 56265166864b3ce52ef713f827d4f580ec38f667 /include/CommonAPI/Logger.hpp | |
parent | 56d1059459c24971bcbf45adef60f6dfd0b44667 (diff) | |
download | genivi-common-api-runtime-3d2fb21d0e93b6b595610285e910ac80c099a174.tar.gz |
CommonAPI 3.1.3
Diffstat (limited to 'include/CommonAPI/Logger.hpp')
-rw-r--r-- | include/CommonAPI/Logger.hpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/include/CommonAPI/Logger.hpp b/include/CommonAPI/Logger.hpp index d2761ac..2247ea1 100644 --- a/include/CommonAPI/Logger.hpp +++ b/include/CommonAPI/Logger.hpp @@ -120,20 +120,25 @@ public: }; COMMONAPI_EXPORT Logger(); + COMMONAPI_EXPORT ~Logger(); template<typename... _LogEntries> COMMONAPI_EXPORT static void log(Level _level, _LogEntries... _entries) { - std::stringstream buffer; - log_intern(buffer, _entries...); - Logger::get()->doLog(_level, buffer.str()); +#if defined(USE_CONSOLE) || defined(USE_FILE) || defined(USE_DLT) + if (_level < maximumLogLevel_) { + std::stringstream buffer; + log_intern(buffer, _entries...); + Logger::get()->doLog(_level, buffer.str()); + } +#endif } - COMMONAPI_EXPORT static void init(bool, const std::string &, bool = false, const std::string & = ""); + COMMONAPI_EXPORT static void init(bool, const std::string &, bool, const std::string &); private: - COMMONAPI_EXPORT static inline std::shared_ptr<Logger> get() { - static std::shared_ptr<Logger> theLogger = std::make_shared<Logger>(); - return theLogger; + COMMONAPI_EXPORT static inline Logger *get() { + static Logger theLogger; + return &theLogger; } COMMONAPI_EXPORT static void log_intern(std::stringstream &_buffer) { |