45#define UVG_LOG_LEVEL LogLevel::DEBUG
54static const std::string LogLevelStr[] = {
"FATAL",
"ERROR",
"WARNING",
"INFO",
"PROFILING",
"TRACE",
"DEBUG"};
68 template <LogLevel LEVEL>
69 static void log(
const std::string& context,
const std::string& message) {
70 static std::mutex logMutex;
71 const std::lock_guard<std::mutex> lock(logMutex);
83 static bool errorsAreFatal_;
84 static std::ostream* outputStream_;
87template <LogLevel LEVEL>
88inline void log(
const std::string& context,
const std::string& message) {
89 Logger::log<LEVEL>(context, message);
94 Timer() : start(
std::chrono::steady_clock::now()) {}
98 return std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::steady_clock::now() - start).count() / 1000000.0;
101 std::ostringstream oss;
102 oss << std::fixed << std::setprecision(6) <<
elapsed();
107 std::chrono::time_point<std::chrono::steady_clock> start;
110static Timer global_timer;
static void printLogMessage(const std::string &context, LogLevel level, const std::string &message)
Definition log.cpp:100
static void setOutputStream(std::ostream &out)
Definition log.cpp:97
static void setErrorsAreFatal(const bool &isFatal)
Definition log.cpp:96
static std::string vprintfStrToStdStr(const char *fmt, va_list args)
Definition log.cpp:133
static LogLevel getLogLevel()
Definition log.cpp:98
static void log(const std::string &context, const std::string &message)
Definition log.hpp:69
static std::string printfStrToStdStr(const char *fmt,...)
Definition log.cpp:119
static void setLogLevel(const LogLevel &level)
Definition log.cpp:95
Timer()
Definition log.hpp:94
double elapsed() const
Definition log.hpp:97
std::string elapsed_str() const
Definition log.hpp:100
#define UVG_LOG_LEVEL
Definition log.hpp:45
Definition jobManagement.hpp:71
Definition jobManagement.hpp:49
constexpr LogLevel logLevelDefaultValue
Definition log.hpp:57
constexpr std::ostream * outputDefaultValue
Definition log.hpp:58
void log(const std::string &context, const std::string &message)
Definition log.hpp:88
constexpr bool errorsAreFatalDefaultValue
Definition log.hpp:56
constexpr LogLevel COMPILETIME_LOG_LEVEL
Definition log.hpp:51
LogLevel
Definition log.hpp:50