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