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_;
91 Timer() : start(
std::chrono::steady_clock::now()) {}
95 return std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::steady_clock::now() - start).count() / 1000000.0;
98 std::ostringstream oss;
99 oss << std::fixed << std::setprecision(6) <<
elapsed();
104 std::chrono::time_point<std::chrono::steady_clock> start;
107static Timer global_timer;
static void log(const std::string &context, const std::string &message)
Definition log.hpp:69
static LogLevel getLogLevel()
Definition log.cpp:98
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 std::string printfStrToStdStr(const char *fmt,...)
Definition log.cpp:119
static void printLogMessage(const std::string &context, LogLevel level, const std::string &message)
Definition log.cpp:100
static void setLogLevel(const LogLevel &level)
Definition log.cpp:95
std::string elapsed_str() const
Definition log.hpp:97
double elapsed() const
Definition log.hpp:94
Timer()
Definition log.hpp:91
#define UVG_LOG_LEVEL
Definition log.hpp:45
Definition jobManagement.cpp:168
constexpr LogLevel logLevelDefaultValue
Definition log.hpp:57
constexpr LogLevel COMPILETIME_LOG_LEVEL
Definition log.hpp:51
constexpr bool errorsAreFatalDefaultValue
Definition log.hpp:56
constexpr std::ostream * outputDefaultValue
Definition log.hpp:58
LogLevel
Definition log.hpp:50