From 430f999f00224a68a967e7122894b469d5ee60bf Mon Sep 17 00:00:00 2001 From: aunsane Date: Fri, 13 Apr 2018 22:54:05 +0300 Subject: Tox: added logging from toxcore - toxcore updated to 0.2.1 - toxcore now bootstraped with random two nodes - version bump --- protocols/Tox/libtox/src/toxcore/logger.c | 51 +++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) (limited to 'protocols/Tox/libtox/src/toxcore/logger.c') diff --git a/protocols/Tox/libtox/src/toxcore/logger.c b/protocols/Tox/libtox/src/toxcore/logger.c index 18b765a385..ff34f994ea 100644 --- a/protocols/Tox/libtox/src/toxcore/logger.c +++ b/protocols/Tox/libtox/src/toxcore/logger.c @@ -27,6 +27,7 @@ #include "logger.h" +#include #include #include #include @@ -38,6 +39,42 @@ struct Logger { void *userdata; }; +#ifdef USE_STDERR_LOGGER +static const char *logger_level_name(LOGGER_LEVEL level) +{ + switch (level) { + case LOG_TRACE: + return "TRACE"; + + case LOG_DEBUG: + return "DEBUG"; + + case LOG_INFO: + return "INFO"; + + case LOG_WARNING: + return "WARNING"; + + case LOG_ERROR: + return "ERROR"; + } + + return ""; +} + +static void logger_stderr_handler(void *context, LOGGER_LEVEL level, const char *file, int line, const char *func, + const char *message, void *userdata) +{ + // GL stands for "global logger". + fprintf(stderr, "[GL] %s %s:%d(%s): %s\n", logger_level_name(level), file, line, func, message); +} + +static const Logger logger_stderr = { + logger_stderr_handler, + nullptr, + nullptr, +}; +#endif /** * Public Functions @@ -59,10 +96,18 @@ void logger_callback_log(Logger *log, logger_cb *function, void *context, void * log->userdata = userdata; } -void logger_write(Logger *log, LOGGER_LEVEL level, const char *file, int line, const char *func, const char *format, - ...) +void logger_write(const Logger *log, LOGGER_LEVEL level, const char *file, int line, const char *func, + const char *format, ...) { - if (!log || !log->callback) { + if (!log) { +#ifdef USE_STDERR_LOGGER + log = &logger_stderr; +#else + assert(!"NULL logger not permitted"); +#endif + } + + if (!log->callback) { return; } -- cgit v1.2.3