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