diff options
author | aunsane <aunsane@gmail.com> | 2018-04-13 22:54:05 +0300 |
---|---|---|
committer | aunsane <aunsane@gmail.com> | 2018-04-13 22:54:27 +0300 |
commit | 430f999f00224a68a967e7122894b469d5ee60bf (patch) | |
tree | b552ff57e5c8a0f1de49208eb511f4edb38f2032 /protocols/Tox/libtox/src/toxcore/logger.c | |
parent | 81dd07b3ae0c7f31da0c6766b8b325e2601e4195 (diff) |
Tox: added logging from toxcore
- toxcore updated to 0.2.1
- toxcore now bootstraped with random two nodes
- version bump
Diffstat (limited to 'protocols/Tox/libtox/src/toxcore/logger.c')
-rw-r--r-- | protocols/Tox/libtox/src/toxcore/logger.c | 51 |
1 files changed, 48 insertions, 3 deletions
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 <assert.h> #include <stdarg.h> #include <stdio.h> #include <stdlib.h> @@ -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 "<unknown>"; +} + +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; } |