9 #ifndef QICORE_LOG_HPP_
10 #define QICORE_LOG_HPP_
13 #include <qi/anyobject.hpp>
14 #include <qi/clock.hpp>
39 qi::LogLevel
level = qi::LogLevel_Info;
44 qi::Clock::time_point
date;
52 inline bool toOld(std::map<std::string, ::qi::AnyValue>& fields,
53 const std::vector<std::tuple<std::string, qi::TypeInterface*>>& missing,
54 const std::map<std::string, ::qi::AnyReference>& dropfields)
60 if (dropfields.size() == 2)
64 if (systemDateIt != dropfields.end() && dateIt != dropfields.end())
66 const qi::SystemClock::time_point systemDate = systemDateIt->second.to<qi::SystemClock::time_point>();
68 qi::AnyValue(qi::os::timeval(systemDate.time_since_epoch()));
74 catch (
const std::exception& e)
76 qiLogVerbose(
"qi.core.LogMessage") <<
"Conversion error: " << e.what();
81 inline bool fromOld(std::map<std::string, ::qi::AnyValue>& fields,
82 const std::vector<std::tuple<std::string, qi::TypeInterface*>>& missing,
83 const std::map<std::string, ::qi::AnyReference>& dropfields)
87 if (dropfields.size() == 1)
90 if (dropfieldsIt != dropfields.end() && missing.size() == 2 &&
96 const qi::os::timeval timestamp = dropfieldsIt->second.to<qi::os::timeval>();
99 qi::SystemClock::time_point(qi::Seconds(timestamp.tv_sec) + qi::MicroSeconds(timestamp.tv_usec)));
104 catch (
const std::exception& e)
106 qiLogVerbose(
"qi.core.LogMessage") <<
"Conversion error: " << e.what();
114 #endif // !QICORE_LOG_HPP_