18#ifndef CONFIG_MESHX_LOG_PRINTF
19#define CONFIG_MESHX_LOG_PRINTF printf
22#ifndef CONFIG_MESHX_DEFAULT_LOG_LEVEL
23#define CONFIG_MESHX_DEFAULT_LOG_LEVEL MESHX_LOG_INFO
27#define MESHX_LOG_COLOR_BLACK "\033[0;30m"
28#define MESHX_LOG_COLOR_RED "\033[0;31m"
29#define MESHX_LOG_COLOR_GREEN "\033[0;32m"
30#define MESHX_LOG_COLOR_YELLOW "\033[0;33m"
31#define MESHX_LOG_COLOR_BLUE "\033[0;34m"
32#define MESHX_LOG_COLOR_PURPLE "\033[0;35m"
33#define MESHX_LOG_COLOR_CYAN "\033[0;36m"
34#define MESHX_LOG_COLOR_WHITE "\033[0;37m"
35#define MESHX_LOG_COLOR_RESET "\033[0m"
39#define MESHX_LOG_VERBOSE 0
40#define MESHX_LOG_DEBUG 1
41#define MESHX_LOG_INFO 2
42#define MESHX_LOG_WARN 3
43#define MESHX_LOG_ERROR 4
44#define MESHX_LOG_NONE 5
45#define MESHX_LOG_MAX 6
57#define MESHX_LOG_LEVEL_COLOR(level) ( \
58 (level) == MESHX_LOG_ERROR ? MESHX_LOG_COLOR_RED : (level) == MESHX_LOG_WARN ? MESHX_LOG_COLOR_YELLOW \
59 : (level) == MESHX_LOG_INFO ? MESHX_LOG_COLOR_GREEN \
60 : (level) == MESHX_LOG_DEBUG ? MESHX_LOG_COLOR_BLUE \
61 : MESHX_LOG_COLOR_RESET)
64#define MESHX_LOG(module_id, level, format, ...) meshx_log_printf(module_id, level, __FILENAME__, __LINE__, format, ##__VA_ARGS__)
66#if CONFIG_MESHX_DEFAULT_LOG_LEVEL < MESHX_LOG_MAX
67#define MESHX_LOGE(module_id, format, ...) \
70 MESHX_LOG(module_id, MESHX_LOG_ERROR, format, ##__VA_ARGS__); \
73#define MESHX_LOGE(module_id, format, ...) \
80#if CONFIG_MESHX_DEFAULT_LOG_LEVEL < MESHX_LOG_ERROR
81#define MESHX_LOGW(module_id, format, ...) \
84 MESHX_LOG(module_id, MESHX_LOG_WARN, format, ##__VA_ARGS__); \
87#define MESHX_LOGW(module_id, format, ...) \
93#if CONFIG_MESHX_DEFAULT_LOG_LEVEL < MESHX_LOG_WARN
94#define MESHX_LOGI(module_id, format, ...) \
97 MESHX_LOG(module_id, MESHX_LOG_INFO, format, ##__VA_ARGS__); \
100#define MESHX_LOGI(module_id, format, ...) \
106#if CONFIG_MESHX_DEFAULT_LOG_LEVEL < MESHX_LOG_INFO
107#define MESHX_LOGD(module_id, format, ...) \
110 MESHX_LOG(module_id, MESHX_LOG_DEBUG, format, ##__VA_ARGS__); \
113#define MESHX_LOGD(module_id, format, ...) \
154 const char *func,
int line_no,
const char *fmt, ...);
Internal configuration settings for MeshX.
meshx_err_t
MeshX Error Codes.
meshx_err_t meshx_logging_init(const meshx_logging_t *config)
Initializes the MeshX logging system with the provided configuration.
unsigned meshx_log_level_t
struct meshx_logging meshx_logging_t
MESHX_WEEK void meshx_log_printf(module_id_t module_id, meshx_log_level_t log_level, const char *func, int line_no, const char *fmt,...)
Logs a formatted message for a specified module and log level.
unsigned int(* millis_t)(void)
Defines module IDs for different elements in the BLE mesh node application.
module_id_t
Enumeration of module IDs.