Expose function to get the current log level

This will allow to avoid unnecessary processing for creating logs which
will be discarded anyway.
This commit is contained in:
Romain Vimont 2021-06-20 12:49:45 +02:00
parent 5c95d18beb
commit 488991116b
2 changed files with 28 additions and 0 deletions

View file

@ -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 void
sc_set_log_level(enum sc_log_level level) { sc_set_log_level(enum sc_log_level level) {
SDL_LogPriority sdl_log = log_level_sc_to_sdl(level); SDL_LogPriority sdl_log = log_level_sc_to_sdl(level);
SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, sdl_log); 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);
}

View file

@ -17,4 +17,7 @@
void void
sc_set_log_level(enum sc_log_level level); sc_set_log_level(enum sc_log_level level);
enum sc_log_level
sc_get_log_level(void);
#endif #endif