19#ifndef ZITI_SDK_ZITI_LOG_H
20#define ZITI_SDK_ZITI_LOG_H
26#ifdef SOURCE_PATH_SIZE
27#define __FILENAME__ (&__FILE__[SOURCE_PATH_SIZE])
29#define __FILENAME__ __FILE__
32#ifndef ZITI_LOG_PREFIX
33#define ZITI_LOG_PREFIX
37#define to_str(x) _to_str(x)
41#define DEBUG_LEVELS(XX) \
56#ifndef ZITI_LOG_MODULE
57#define ZITI_LOG_MODULE NULL
60#define ZITI_LOG(level, fmt, ...) do { \
61if (level <= ziti_log_level(ZITI_LOG_MODULE, __FILENAME__)) { ziti_logger(level, ZITI_LOG_MODULE, __FILENAME__, __LINE__, __func__, fmt, ##__VA_ARGS__); }\
71# define FORMAT_STRING(p) _Printf_format_string_ p
73# define FORMAT_STRING(p) __format_string p
76# define FORMAT_STRING(p) p
80#define ziti_printf_args(a, b) __attribute__((__format__ (printf,a,b)))
82#define ziti_printf_args(a,b)
85#define ZITI_LOG_DEFAULT_LEVEL (-1)
87typedef void (*
log_writer)(
int level,
const char *loc,
const char *msg,
size_t msglen);
90ziti_logger(
int level,
const char *module,
const char *file,
unsigned int line,
const char *func,
#define ZITI_FUNC
Definition externs.h:38
void ziti_log_set_level(int level, const char *marker)
#define _level(n)
Definition ziti_log.h:51
#define FORMAT_STRING(p)
Definition ziti_log.h:76
void ziti_log_init(uv_loop_t *loop, int level, log_writer logger)
void ziti_logger(int level, const char *module, const char *file, unsigned int line, const char *func, const char *fmt,...)
#define DEBUG_LEVELS(XX)
Definition ziti_log.h:41
void tlsuv_logger(int level, const char *file, unsigned int line, const char *msg)
can be used to turn on logging of uv-mbed library and send log messages into the ziti_log Usage: uv_m...
void ziti_log_set_logger(log_writer logger)
const char * ziti_log_level_label()
#define ziti_printf_args(a, b)
Definition ziti_log.h:82
void ziti_log_set_level_by_label(const char *log_level)
DebugLevel
Definition ziti_log.h:50
void(* log_writer)(int level, const char *loc, const char *msg, size_t msglen)
Definition ziti_log.h:87
int ziti_log_level(const char *module, const char *file)