15 #include <glib/gprintf.h>
24 #define ANSI_COLOR_RED "\x1b[31m"
26 #define ANSI_COLOR_GREEN "\x1b[32m"
27 #define ANSI_COLOR_YELLOW "\x1b[33m"
28 #define ANSI_COLOR_BLUE "\x1b[34m"
29 #define ANSI_COLOR_MAGENTA "\x1b[35m"
30 #define ANSI_COLOR_CYAN "\x1b[36m"
31 #define ANSI_COLOR_RESET "\x1b[0m"
54 #define LOG_MAX LOG_DBG
57 static const char *janus_log_prefix[] = {
83 #define JANUS_PRINT janus_vprintf
87 #define JANUS_LOG(level, format, ...) \
89 if (level > LOG_NONE && level <= LOG_MAX && level <= janus_log_level) { \
90 char janus_log_ts[64] = ""; \
91 char janus_log_src[128] = ""; \
92 if (janus_log_timestamps) { \
93 struct tm janustmresult; \
94 time_t janusltime = time(NULL); \
95 localtime_r(&janusltime, &janustmresult); \
96 strftime(janus_log_ts, sizeof(janus_log_ts), \
97 "[%a %b %e %T %Y] ", &janustmresult); \
99 if (level == LOG_FATAL || level == LOG_ERR || level == LOG_DBG) { \
100 snprintf(janus_log_src, sizeof(janus_log_src), \
101 "[%s:%s:%d] ", __FILE__, __FUNCTION__, __LINE__); \
103 JANUS_PRINT("%s%s%s" format, \
105 janus_log_prefix[level | ((int)janus_log_colors << 3)], \
#define ANSI_COLOR_RED
Definition: debug.h:25
#define ANSI_COLOR_YELLOW
Definition: debug.h:27
#define ANSI_COLOR_RESET
Definition: debug.h:31
gboolean janus_log_colors
Definition: janus-cfgconv.c:36
int janus_log_level
Definition: janus-cfgconv.c:34
gboolean janus_log_timestamps
Definition: janus-cfgconv.c:35
#define ANSI_COLOR_MAGENTA
Definition: debug.h:29
Buffered logging (headers)