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) && \
31 ((_level) <= (ucxx::ucxx_log_level_t)( \
32 reinterpret_cast<ucs_log_component_config_t*>(_comp_log_config)->log_level)))
34 #define ucxx_log_is_enabled(_level) \
35 ucxx_log_component_is_enabled(_level, &ucxx::ucxx_log_component_config)
37 #define ucxx_log_component(_level, _comp_log_config, _fmt, ...) \
39 if (ucxx_log_component_is_enabled(_level, _comp_log_config)) { \
40 ucs_log_dispatch(__FILE__, \
43 (ucs_log_level_t)(_level), \
50 #define ucxx_log(_level, _fmt, ...) \
52 ucxx_log_component(_level, &ucxx::ucxx_log_component_config, _fmt, ##__VA_ARGS__); \
55 #define ucxx_error(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_ERROR, _fmt, ##__VA_ARGS__)
56 #define ucxx_warn(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_WARN, _fmt, ##__VA_ARGS__)
57 #define ucxx_diag(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_DIAG, _fmt, ##__VA_ARGS__)
58 #define ucxx_info(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_INFO, _fmt, ##__VA_ARGS__)
59 #define ucxx_debug(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_DEBUG, _fmt, ##__VA_ARGS__)
60 #define ucxx_trace(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_TRACE, _fmt, ##__VA_ARGS__)
61 #define ucxx_trace_req(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_TRACE_REQ, _fmt, ##__VA_ARGS__)
62 #define ucxx_trace_data(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_TRACE_DATA, _fmt, ##__VA_ARGS__)
63 #define ucxx_trace_async(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_TRACE_ASYNC, _fmt, ##__VA_ARGS__)
64 #define ucxx_trace_func(_fmt, ...) \
65 ucxx_log(ucxx::UCXX_LOG_LEVEL_TRACE_FUNC, "%s(" _fmt ")", __FUNCTION__, ##__VA_ARGS__)
66 #define ucxx_trace_poll(_fmt, ...) ucxx_log(ucxx::UCXX_LOG_LEVEL_TRACE_POLL, _fmt, ##__VA_ARGS__)
74 const std::unordered_map<std::string, ucxx_log_level_t>
logLevelNames = {
75 {
"FATAL", UCXX_LOG_LEVEL_FATAL},
76 {
"ERROR", UCXX_LOG_LEVEL_ERROR},
77 {
"WARN", UCXX_LOG_LEVEL_WARN},
78 {
"DIAG", UCXX_LOG_LEVEL_DIAG},
79 {
"INFO", UCXX_LOG_LEVEL_INFO},
80 {
"DEBUG", UCXX_LOG_LEVEL_DEBUG},
81 {
"TRACE", UCXX_LOG_LEVEL_TRACE},
82 {
"REQ", UCXX_LOG_LEVEL_TRACE_REQ},
83 {
"DATA", UCXX_LOG_LEVEL_TRACE_DATA},
84 {
"ASYNC", UCXX_LOG_LEVEL_TRACE_ASYNC},
85 {
"FUNC", UCXX_LOG_LEVEL_TRACE_FUNC},
86 {
"POLL", UCXX_LOG_LEVEL_TRACE_POLL},
87 {
"", UCXX_LOG_LEVEL_LAST},
88 {
"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:74
const ucs_log_level_t logLevelDefault
The type of the default log level.
Definition: log.h:103
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:95