11 #ifndef _JANUS_DEBUG_H 12 #define _JANUS_DEBUG_H 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)