ferencd@0: #include "web_logmachine.h" ferencd@0: ferencd@0: #include ferencd@0: ferencd@0: #include ferencd@0: ferencd@0: namespace ferencd@0: { ferencd@0: ferencd@0: cxxtools::Logger* getLogger() ferencd@0: { ferencd@0: static cxxtools::Logger* logger = nullptr; ferencd@0: if (!::cxxtools::LoggerManager::isEnabled()) ferencd@0: { ferencd@0: return nullptr; ferencd@0: } ferencd@0: if (logger == nullptr) ferencd@0: { ferencd@0: logger = ::cxxtools::LoggerManager::getInstance().getLogger("application"); ferencd@0: } ferencd@0: return logger; ferencd@0: } ferencd@0: ferencd@0: void do_log(cxxtools::Logger::log_level_type level, const std::string& msg) ferencd@0: { ferencd@0: cxxtools::Logger* _cxxtools_logger = getLogger(); ferencd@0: if (_cxxtools_logger != nullptr && _cxxtools_logger->isEnabled(level)) ferencd@0: { ferencd@0: ::cxxtools::LogMessage _cxxtools_logMessage(_cxxtools_logger, level); ferencd@0: _cxxtools_logMessage.out() << msg; ferencd@0: _cxxtools_logMessage.finish(); ferencd@0: } ferencd@0: } ferencd@0: ferencd@0: } ferencd@0: ferencd@0: web_logmachine::web_logmachine() ferencd@0: { ferencd@0: static bool log_inited = false; ferencd@0: if(!log_inited) ferencd@0: { ferencd@0: log_init("log_conf.xml"); ferencd@0: log_inited = true; ferencd@0: } ferencd@0: } ferencd@0: ferencd@0: void web_logmachine::do_log(unafrog::log::LogLevel level, const std::string &message) noexcept ferencd@0: { ferencd@0: static std::map levelMap{ ferencd@0: {unafrog::log::LogLevel::LOG_EMERGENCY, ::cxxtools::Logger::LOG_LEVEL_FATAL}, ferencd@0: {unafrog::log::LogLevel::LOG_CRITICAL, ::cxxtools::Logger::LOG_LEVEL_FATAL}, ferencd@0: {unafrog::log::LogLevel::LOG_ERROR, ::cxxtools::Logger::LOG_LEVEL_ERROR}, ferencd@0: {unafrog::log::LogLevel::LOG_WARNING, ::cxxtools::Logger::LOG_LEVEL_WARN}, ferencd@0: {unafrog::log::LogLevel::LOG_INFORMATION, ::cxxtools::Logger::LOG_LEVEL_INFO}, ferencd@0: {unafrog::log::LogLevel::LOG_DEBUG, ::cxxtools::Logger::LOG_LEVEL_DEBUG}, ferencd@0: {unafrog::log::LogLevel::LOG_TRACE, ::cxxtools::Logger::LOG_LEVEL_TRACE} ferencd@0: }; ferencd@0: ferencd@0: ::do_log(levelMap[level], message); ferencd@0: }