From 488991116b9c56112a26daa1bb1069b57b9832ec Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Sun, 20 Jun 2021 12:49:45 +0200 Subject: [PATCH] Expose function to get the current log level This will allow to avoid unnecessary processing for creating logs which will be discarded anyway. --- app/src/util/log.c | 25 +++++++++++++++++++++++++ app/src/util/log.h | 3 +++ 2 files changed, 28 insertions(+) diff --git a/app/src/util/log.c b/app/src/util/log.c index ac26de1cd8..a285fffba9 100644 --- a/app/src/util/log.c +++ b/app/src/util/log.c @@ -21,8 +21,33 @@ log_level_sc_to_sdl(enum sc_log_level level) { } } +static enum sc_log_level +log_level_sdl_to_sc(SDL_LogPriority priority) { + switch (priority) { + case SDL_LOG_PRIORITY_VERBOSE: + return SC_LOG_LEVEL_VERBOSE; + case SDL_LOG_PRIORITY_DEBUG: + return SC_LOG_LEVEL_DEBUG; + case SDL_LOG_PRIORITY_INFO: + return SC_LOG_LEVEL_INFO; + case SDL_LOG_PRIORITY_WARN: + return SC_LOG_LEVEL_WARN; + case SDL_LOG_PRIORITY_ERROR: + return SC_LOG_LEVEL_ERROR; + default: + assert(!"unexpected log level"); + return SC_LOG_LEVEL_INFO; + } +} + void sc_set_log_level(enum sc_log_level level) { SDL_LogPriority sdl_log = log_level_sc_to_sdl(level); SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, sdl_log); } + +enum sc_log_level +sc_get_log_level(void) { + SDL_LogPriority sdl_log = SDL_LogGetPriority(SDL_LOG_CATEGORY_APPLICATION); + return log_level_sdl_to_sc(sdl_log); +} diff --git a/app/src/util/log.h b/app/src/util/log.h index 8b6c175e28..30934b5c9f 100644 --- a/app/src/util/log.h +++ b/app/src/util/log.h @@ -17,4 +17,7 @@ void sc_set_log_level(enum sc_log_level level); +enum sc_log_level +sc_get_log_level(void); + #endif