Unravel Engine C++ Reference
Loading...
Searching...
No Matches
logging.h File Reference
#include <spdlog/sinks/callback_sink.h>
#include <spdlog/sinks/dist_sink.h>
#include <spdlog/spdlog.h>
#include <spdlog/fmt/chrono.h>
#include <spdlog/fmt/ranges.h>
#include <hpp/source_location.hpp>

Go to the source code of this file.

Classes

struct  unravel::logging
 
struct  unravel::log_stopwatch< lvl, T >
 

Namespaces

namespace  unravel
 

Macros

#define APPLOG   "Log"
 
#define APPLOG_DEBUG(...)
 
#define APPLOG_TRACE(...)
 
#define APPLOG_INFO(...)
 
#define APPLOG_WARNING(...)
 
#define APPLOG_ERROR(...)
 
#define APPLOG_CRITICAL(...)
 
#define SPDLOG_LOGGER_CALL_LOC(logger, file, line, func, level, ...)
 
#define APPLOG_DEBUG_LOC(FILE_LOC, LINE_LOC, FUNC_LOC, ...)
 
#define APPLOG_TRACE_LOC(FILE_LOC, LINE_LOC, FUNC_LOC, ...)
 
#define APPLOG_INFO_LOC(FILE_LOC, LINE_LOC, FUNC_LOC, ...)
 
#define APPLOG_WARNING_LOC(FILE_LOC, LINE_LOC, FUNC_LOC, ...)
 
#define APPLOG_ERROR_LOC(FILE_LOC, LINE_LOC, FUNC_LOC, ...)
 
#define APPLOG_CRITICAL_LOC(FILE_LOC, LINE_LOC, FUNC_LOC, ...)
 
#define APPLOG_FLUSH()
 
#define APPLOG_CONCATENATE_DETAIL(x, y)
 
#define APPLOG_CONCATENATE(x, y)
 
#define APPLOG_UNIQUE_VAR(prefix)
 
#define APPLOG_INFO_PERF(T)
 
#define APPLOG_TRACE_PERF(T)
 
#define APPLOG_DEBUG_PERF(T)
 
#define APPLOG_INFO_PERF_NAMED(T, name)
 
#define APPLOG_TRACE_PERF_NAMED(T, name)
 
#define APPLOG_DEBUG_PERF_NAMED(T, name)
 

Functions

auto unravel::get_mutable_logging_container () -> std::shared_ptr< spdlog::sinks::dist_sink_mt >
 

Macro Definition Documentation

◆ APPLOG

#define APPLOG   "Log"

Definition at line 15 of file logging.h.

◆ APPLOG_CONCATENATE

#define APPLOG_CONCATENATE ( x,
y )
Value:
#define APPLOG_CONCATENATE_DETAIL(x, y)
Definition logging.h:83
float y
float x

Definition at line 84 of file logging.h.

◆ APPLOG_CONCATENATE_DETAIL

#define APPLOG_CONCATENATE_DETAIL ( x,
y )
Value:
x##y

Definition at line 83 of file logging.h.

◆ APPLOG_CRITICAL

#define APPLOG_CRITICAL ( ...)
Value:
SPDLOG_LOGGER_CALL(spdlog::get(APPLOG), spdlog::level::critical, __VA_ARGS__)
#define APPLOG
Definition logging.h:15

Definition at line 21 of file logging.h.

◆ APPLOG_CRITICAL_LOC

#define APPLOG_CRITICAL_LOC ( FILE_LOC,
LINE_LOC,
FUNC_LOC,
... )
Value:
SPDLOG_LOGGER_CALL_LOC(spdlog::get(APPLOG), FILE_LOC, LINE_LOC, FUNC_LOC, spdlog::level::critical, __VA_ARGS__)
#define SPDLOG_LOGGER_CALL_LOC(logger, file, line, func, level,...)
Definition logging.h:25

Definition at line 40 of file logging.h.

◆ APPLOG_DEBUG

#define APPLOG_DEBUG ( ...)
Value:
SPDLOG_LOGGER_CALL(spdlog::get(APPLOG), spdlog::level::debug, __VA_ARGS__)

Definition at line 16 of file logging.h.

◆ APPLOG_DEBUG_LOC

#define APPLOG_DEBUG_LOC ( FILE_LOC,
LINE_LOC,
FUNC_LOC,
... )
Value:
SPDLOG_LOGGER_CALL_LOC(spdlog::get(APPLOG), FILE_LOC, LINE_LOC, FUNC_LOC, spdlog::level::debug, __VA_ARGS__)

Definition at line 30 of file logging.h.

◆ APPLOG_DEBUG_PERF

#define APPLOG_DEBUG_PERF ( T)
Value:
log_stopwatch<spdlog::level::debug, T> APPLOG_UNIQUE_VAR(_test)(__func__);
#define APPLOG_UNIQUE_VAR(prefix)
Definition logging.h:87

Definition at line 91 of file logging.h.

◆ APPLOG_DEBUG_PERF_NAMED

#define APPLOG_DEBUG_PERF_NAMED ( T,
name )
Value:
log_stopwatch<spdlog::level::trace, T> APPLOG_UNIQUE_VAR(_test)(name);
std::string name
Definition hub.cpp:27

Definition at line 96 of file logging.h.

◆ APPLOG_ERROR

#define APPLOG_ERROR ( ...)
Value:
SPDLOG_LOGGER_CALL(spdlog::get(APPLOG), spdlog::level::err, __VA_ARGS__)

Definition at line 20 of file logging.h.

◆ APPLOG_ERROR_LOC

#define APPLOG_ERROR_LOC ( FILE_LOC,
LINE_LOC,
FUNC_LOC,
... )
Value:
SPDLOG_LOGGER_CALL_LOC(spdlog::get(APPLOG), FILE_LOC, LINE_LOC, FUNC_LOC, spdlog::level::err, __VA_ARGS__)

Definition at line 38 of file logging.h.

◆ APPLOG_FLUSH

#define APPLOG_FLUSH ( )
Value:
spdlog::apply_all([](std::shared_ptr<spdlog::logger> const& lg){ lg->flush(); })

Definition at line 43 of file logging.h.

◆ APPLOG_INFO

#define APPLOG_INFO ( ...)
Value:
SPDLOG_LOGGER_CALL(spdlog::get(APPLOG), spdlog::level::info, __VA_ARGS__)

Definition at line 18 of file logging.h.

◆ APPLOG_INFO_LOC

#define APPLOG_INFO_LOC ( FILE_LOC,
LINE_LOC,
FUNC_LOC,
... )
Value:
SPDLOG_LOGGER_CALL_LOC(spdlog::get(APPLOG), FILE_LOC, LINE_LOC, FUNC_LOC, spdlog::level::info, __VA_ARGS__)

Definition at line 34 of file logging.h.

◆ APPLOG_INFO_PERF

#define APPLOG_INFO_PERF ( T)
Value:
log_stopwatch<spdlog::level::info, T> APPLOG_UNIQUE_VAR(_test)(__func__);

Definition at line 89 of file logging.h.

◆ APPLOG_INFO_PERF_NAMED

#define APPLOG_INFO_PERF_NAMED ( T,
name )
Value:
log_stopwatch<spdlog::level::info, T> APPLOG_UNIQUE_VAR(_test)(name);

Definition at line 94 of file logging.h.

◆ APPLOG_TRACE

#define APPLOG_TRACE ( ...)
Value:
SPDLOG_LOGGER_CALL(spdlog::get(APPLOG), spdlog::level::trace, __VA_ARGS__)

Definition at line 17 of file logging.h.

◆ APPLOG_TRACE_LOC

#define APPLOG_TRACE_LOC ( FILE_LOC,
LINE_LOC,
FUNC_LOC,
... )
Value:
SPDLOG_LOGGER_CALL_LOC(spdlog::get(APPLOG), FILE_LOC, LINE_LOC, FUNC_LOC, spdlog::level::trace, __VA_ARGS__)

Definition at line 32 of file logging.h.

◆ APPLOG_TRACE_PERF

#define APPLOG_TRACE_PERF ( T)
Value:
log_stopwatch<spdlog::level::trace, T> APPLOG_UNIQUE_VAR(_test)(__func__);

Definition at line 90 of file logging.h.

◆ APPLOG_TRACE_PERF_NAMED

#define APPLOG_TRACE_PERF_NAMED ( T,
name )
Value:
log_stopwatch<spdlog::level::trace, T> APPLOG_UNIQUE_VAR(_test)(name);

Definition at line 95 of file logging.h.

◆ APPLOG_UNIQUE_VAR

#define APPLOG_UNIQUE_VAR ( prefix)
Value:
APPLOG_CONCATENATE(prefix, __LINE__)
#define APPLOG_CONCATENATE(x, y)
Definition logging.h:84

Definition at line 87 of file logging.h.

◆ APPLOG_WARNING

#define APPLOG_WARNING ( ...)
Value:
SPDLOG_LOGGER_CALL(spdlog::get(APPLOG), spdlog::level::warn, __VA_ARGS__)

Definition at line 19 of file logging.h.

◆ APPLOG_WARNING_LOC

#define APPLOG_WARNING_LOC ( FILE_LOC,
LINE_LOC,
FUNC_LOC,
... )
Value:
SPDLOG_LOGGER_CALL_LOC(spdlog::get(APPLOG), FILE_LOC, LINE_LOC, FUNC_LOC, spdlog::level::warn, __VA_ARGS__)

Definition at line 36 of file logging.h.

◆ SPDLOG_LOGGER_CALL_LOC

#define SPDLOG_LOGGER_CALL_LOC ( logger,
file,
line,
func,
level,
... )
Value:
(logger)->log(spdlog::source_loc{file, line, func}, level, __VA_ARGS__)

Definition at line 25 of file logging.h.