Home
libucxx
libucxx
ucxx
nightly (0.53)
nightly (0.53)
stable (0.52)
legacy (0.51)
Toggle main menu visibility
Loading...
Searching...
No Matches
include
ucxx
log.h
1
5
#pragma once
6
7
#include <string>
8
#include <unordered_map>
9
10
#include <ucs/debug/log_def.h>
11
12
#include <ucxx/typedefs.h>
13
14
namespace
ucxx
{
15
21
extern
ucs_log_component_config_t
ucxx_log_component_config
;
22
23
// Macros
24
#ifndef UCXX_MAX_LOG_LEVEL
25
#define UCXX_MAX_LOG_LEVEL ucxx::UCXX_LOG_LEVEL_LAST
26
#endif
27
28
#define ucxx_log_component_is_enabled(_level, _comp_log_config) \
29
ucs_unlikely( \
30
((_level) <= UCXX_MAX_LOG_LEVEL) && \
31
((_level) <= \
32
(ucxx::ucxx_log_level_t)(reinterpret_cast<ucs_log_component_config_t*>(_comp_log_config) \
33
->log_level)))
34
35
#define ucxx_log_is_enabled(_level) \
36
ucxx_log_component_is_enabled(_level, &ucxx::ucxx_log_component_config)
37
38
#define ucxx_log_component(_level, _comp_log_config, _fmt, ...) \
39
do { \
40
if (ucxx_log_component_is_enabled(_level, _comp_log_config)) { \
41
ucs_log_dispatch(__FILE__, \
42
__LINE__, \
43
__func__, \
44
(ucs_log_level_t)(_level), \
45
_comp_log_config, \
46
_fmt, \
47
##__VA_ARGS__); \
48
} \
49
} while (0)
50
51
#define ucxx_log(_level, _fmt, ...) \
52
do { \
53
ucxx_log_component(_level, &ucxx::ucxx_log_component_config, _fmt, ##__VA_ARGS__); \
54
} while (0)
55
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__)
68
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}};
90
96
const
char
logLevelNameDefault
[] =
"WARN"
;
97
104
const
ucs_log_level_t
logLevelDefault
= (ucs_log_level_t)
logLevelNames
.at(
logLevelNameDefault
);
105
112
void
parseLogLevel
();
113
114
}
// namespace ucxx
ucxx
Definition
address.h:16
ucxx::logLevelNames
const std::unordered_map< std::string, ucxx_log_level_t > logLevelNames
Map of log level names to their respective types.
Definition
log.h:75
ucxx::logLevelDefault
const ucs_log_level_t logLevelDefault
The type of the default log level.
Definition
log.h:104
ucxx::ucxx_log_component_config
ucs_log_component_config_t ucxx_log_component_config
The UCXX log level component configuration.
ucxx::parseLogLevel
void parseLogLevel()
Parse the active log level.
ucxx::logLevelNameDefault
const char logLevelNameDefault[]
The name of the default log level.
Definition
log.h:96
Generated by
1.18.0