15 #include <glib/gprintf.h> 25 #define ANSI_COLOR_RED "\x1b[31m" 27 #define ANSI_COLOR_GREEN "\x1b[32m" 28 #define ANSI_COLOR_YELLOW "\x1b[33m" 29 #define ANSI_COLOR_BLUE "\x1b[34m" 30 #define ANSI_COLOR_MAGENTA "\x1b[35m" 31 #define ANSI_COLOR_CYAN "\x1b[36m" 32 #define ANSI_COLOR_RESET "\x1b[0m" 55 #define LOG_MAX LOG_DBG 57 #pragma GCC diagnostic push 58 #pragma GCC diagnostic ignored "-Wunused-variable" 60 static const char *janus_log_prefix[] = {
81 #pragma GCC diagnostic pop 87 #define JANUS_PRINT janus_vprintf 91 #define JANUS_LOG(level, format, ...) \ 93 if (level > LOG_NONE && level <= LOG_MAX && level <= janus_log_level) { \ 94 char janus_log_ts[64] = ""; \ 95 char janus_log_src[128] = ""; \ 96 if (janus_log_timestamps) { \ 97 struct tm janustmresult; \ 98 time_t janusltime = time(NULL); \ 99 localtime_r(&janusltime, &janustmresult); \ 100 strftime(janus_log_ts, sizeof(janus_log_ts), \ 101 "[%a %b %e %T %Y] ", &janustmresult); \ 103 if (level == LOG_FATAL || level == LOG_ERR || level == LOG_DBG) { \ 104 snprintf(janus_log_src, sizeof(janus_log_src), \ 105 "[%s:%s:%d] ", __FILE__, __FUNCTION__, __LINE__); \ 107 JANUS_PRINT("%s%s%s%s" format, \ 108 janus_log_global_prefix ? janus_log_global_prefix : "", \ 110 janus_log_prefix[level | ((int)janus_log_colors << 3)], \ #define ANSI_COLOR_RED
Definition: debug.h:26
#define ANSI_COLOR_YELLOW
Definition: debug.h:28
#define ANSI_COLOR_RESET
Definition: debug.h:32
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
char * janus_log_global_prefix
Definition: janus-cfgconv.c:37
#define ANSI_COLOR_MAGENTA
Definition: debug.h:30
Buffered logging (headers)