Mercurial > thymian
comparison server/web_logmachine.cpp @ 0:a4671277546c tip
created the repository for the thymian project
| author | ferencd |
|---|---|
| date | Tue, 17 Aug 2021 11:19:54 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:a4671277546c |
|---|---|
| 1 #include "web_logmachine.h" | |
| 2 | |
| 3 #include <cxxtools/log/cxxtools.h> | |
| 4 | |
| 5 #include <map> | |
| 6 | |
| 7 namespace | |
| 8 { | |
| 9 | |
| 10 cxxtools::Logger* getLogger() | |
| 11 { | |
| 12 static cxxtools::Logger* logger = nullptr; | |
| 13 if (!::cxxtools::LoggerManager::isEnabled()) | |
| 14 { | |
| 15 return nullptr; | |
| 16 } | |
| 17 if (logger == nullptr) | |
| 18 { | |
| 19 logger = ::cxxtools::LoggerManager::getInstance().getLogger("application"); | |
| 20 } | |
| 21 return logger; | |
| 22 } | |
| 23 | |
| 24 void do_log(cxxtools::Logger::log_level_type level, const std::string& msg) | |
| 25 { | |
| 26 cxxtools::Logger* _cxxtools_logger = getLogger(); | |
| 27 if (_cxxtools_logger != nullptr && _cxxtools_logger->isEnabled(level)) | |
| 28 { | |
| 29 ::cxxtools::LogMessage _cxxtools_logMessage(_cxxtools_logger, level); | |
| 30 _cxxtools_logMessage.out() << msg; | |
| 31 _cxxtools_logMessage.finish(); | |
| 32 } | |
| 33 } | |
| 34 | |
| 35 } | |
| 36 | |
| 37 web_logmachine::web_logmachine() | |
| 38 { | |
| 39 static bool log_inited = false; | |
| 40 if(!log_inited) | |
| 41 { | |
| 42 log_init("log_conf.xml"); | |
| 43 log_inited = true; | |
| 44 } | |
| 45 } | |
| 46 | |
| 47 void web_logmachine::do_log(unafrog::log::LogLevel level, const std::string &message) noexcept | |
| 48 { | |
| 49 static std::map<unafrog::log::LogLevel, ::cxxtools::Logger::log_level_type> levelMap{ | |
| 50 {unafrog::log::LogLevel::LOG_EMERGENCY, ::cxxtools::Logger::LOG_LEVEL_FATAL}, | |
| 51 {unafrog::log::LogLevel::LOG_CRITICAL, ::cxxtools::Logger::LOG_LEVEL_FATAL}, | |
| 52 {unafrog::log::LogLevel::LOG_ERROR, ::cxxtools::Logger::LOG_LEVEL_ERROR}, | |
| 53 {unafrog::log::LogLevel::LOG_WARNING, ::cxxtools::Logger::LOG_LEVEL_WARN}, | |
| 54 {unafrog::log::LogLevel::LOG_INFORMATION, ::cxxtools::Logger::LOG_LEVEL_INFO}, | |
| 55 {unafrog::log::LogLevel::LOG_DEBUG, ::cxxtools::Logger::LOG_LEVEL_DEBUG}, | |
| 56 {unafrog::log::LogLevel::LOG_TRACE, ::cxxtools::Logger::LOG_LEVEL_TRACE} | |
| 57 }; | |
| 58 | |
| 59 ::do_log(levelMap[level], message); | |
| 60 } |
