8 #include <unordered_map>
10 #include <ucs/debug/log_def.h>
12 #include <ucxx/typedefs.h>
24 #ifndef UCXX_MAX_LOG_LEVEL
25 #define UCXX_MAX_LOG_LEVEL ucxx::UCXX_LOG_LEVEL_LAST
28 #define ucxx_log_component_is_enabled(_level, _comp_log_config) \
30 ((_level) <= UCXX_MAX_LOG_LEVEL) && \
32 (ucxx::ucxx_log_level_t)(reinterpret_cast<ucs_log_component_config_t*>(_comp_log_config) \
35 #define ucxx_log_is_enabled(_level) \
36 ucxx_log_component_is_enabled(_level, &ucxx::ucxx_log_component_config)
38 #define ucxx_log_component(_level, _comp_log_config, _fmt, ...) \
40 if (ucxx_log_component_is_enabled(_level, _comp_log_config)) { \
41 ucs_log_dispatch(__FILE__, \
44 (ucs_log_level_t)(_level), \
51 #define ucxx_log(_level, _fmt, ...) \
53 ucxx_log_component(_level, &ucxx::ucxx_log_component_config, _fmt, ##__VA_ARGS__); \
56 #define ucxx_error(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_ERROR, _fmt, ##__VA_ARGS__)
57 #define ucxx_warn(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_WARN, _fmt, ##__VA_ARGS__)
58 #define ucxx_diag(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_DIAG, _fmt, ##__VA_ARGS__)
59 #define ucxx_info(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_INFO, _fmt, ##__VA_ARGS__)
60 #define ucxx_debug(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_DEBUG, _fmt, ##__VA_ARGS__)
61 #define ucxx_trace(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_TRACE, _fmt, ##__VA_ARGS__)
62 #define ucxx_trace_req(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_TRACE_REQ, _fmt, ##__VA_ARGS__)
63 #define ucxx_trace_data(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_TRACE_DATA, _fmt, ##__VA_ARGS__)
64 #define ucxx_trace_async(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_TRACE_ASYNC, _fmt, ##__VA_ARGS__)
65 #define ucxx_trace_func(_fmt, ...) \
66 ucxx_log(ucxx::UCXX_LOG_LEVEL_TRACE_FUNC, "%s(" _fmt ")", __FUNCTION__, ##__VA_ARGS__)
67 #define ucxx_trace_poll(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_TRACE_POLL, _fmt, ##__VA_ARGS__)
75 const std::unordered_map<std::string, ucxx_log_level_t>
logLevelNames = {
76 {
"FATAL", UCXX_LOG_LEVEL_FATAL},
77 {
"ERROR", UCXX_LOG_LEVEL_ERROR},
78 {
"WARN", UCXX_LOG_LEVEL_WARN},
79 {
"DIAG", UCXX_LOG_LEVEL_DIAG},
80 {
"INFO", UCXX_LOG_LEVEL_INFO},
81 {
"DEBUG", UCXX_LOG_LEVEL_DEBUG},
82 {
"TRACE", UCXX_LOG_LEVEL_TRACE},
83 {
"REQ", UCXX_LOG_LEVEL_TRACE_REQ},
84 {
"DATA", UCXX_LOG_LEVEL_TRACE_DATA},
85 {
"ASYNC", UCXX_LOG_LEVEL_TRACE_ASYNC},
86 {
"FUNC", UCXX_LOG_LEVEL_TRACE_FUNC},
87 {
"POLL", UCXX_LOG_LEVEL_TRACE_POLL},
88 {
"", UCXX_LOG_LEVEL_LAST},
89 {
"PRINT", UCXX_LOG_LEVEL_PRINT}};
const std::unordered_map< std::string, ucxx_log_level_t > logLevelNames
Map of log level names to their respective types.
Definition: log.h:75
const ucs_log_level_t logLevelDefault
The type of the default log level.
Definition: log.h:104
ucs_log_component_config_t ucxx_log_component_config
The UCXX log level component configuration.
void parseLogLevel()
Parse the active log level.
const char logLevelNameDefault[]
The name of the default log level.
Definition: log.h:96