diff --git a/frontend/menu/backend/menu_common_backend.c b/frontend/menu/backend/menu_common_backend.c index 4bcca58ddc..a4292807dd 100644 --- a/frontend/menu/backend/menu_common_backend.c +++ b/frontend/menu/backend/menu_common_backend.c @@ -83,6 +83,8 @@ static void menu_common_entries_init(void *data, unsigned menu_type) #endif case RGUI_SETTINGS_GENERAL_OPTIONS: file_list_clear(rgui->selection_buf); + file_list_push(rgui->selection_buf, "Libretro Logging Level", RGUI_SETTINGS_LIBRETRO_LOG_LEVEL, 0); + file_list_push(rgui->selection_buf, "Logging Verbosity", RGUI_SETTINGS_LOGGING_VERBOSITY, 0); file_list_push(rgui->selection_buf, "Configuration Save On Exit", RGUI_SETTINGS_CONFIG_SAVE_ON_EXIT, 0); file_list_push(rgui->selection_buf, "Configuration Per-Core", RGUI_SETTINGS_PER_CORE_CONFIG, 0); #ifdef HAVE_SCREENSHOTS @@ -2267,6 +2269,20 @@ static int menu_common_setting_set(void *data, unsigned setting, unsigned action else if (action == RGUI_ACTION_START) g_settings.rewind_granularity = 1; break; + case RGUI_SETTINGS_LIBRETRO_LOG_LEVEL: + if (action == RGUI_ACTION_LEFT) + { + if (g_settings.libretro_log_level > 0) + g_settings.libretro_log_level--; + } + else if (action == RGUI_ACTION_RIGHT) + if (g_settings.libretro_log_level < 3) + g_settings.libretro_log_level++; + break; + case RGUI_SETTINGS_LOGGING_VERBOSITY: + if (action == RGUI_ACTION_LEFT || action == RGUI_ACTION_RIGHT) + g_extern.verbose = !g_extern.verbose; + break; case RGUI_SETTINGS_CONFIG_SAVE_ON_EXIT: if (action == RGUI_ACTION_OK || action == RGUI_ACTION_RIGHT || action == RGUI_ACTION_LEFT) @@ -3970,6 +3986,26 @@ static void menu_common_setting_set_label(char *type_str, size_t type_str_size, case RGUI_SETTINGS_REWIND_GRANULARITY: snprintf(type_str, type_str_size, "%u", g_settings.rewind_granularity); break; + case RGUI_SETTINGS_LIBRETRO_LOG_LEVEL: + switch(g_settings.libretro_log_level) + { + case 0: + snprintf(type_str, type_str_size, "0 (Debug)"); + break; + case 1: + snprintf(type_str, type_str_size, "1 (Info)"); + break; + case 2: + snprintf(type_str, type_str_size, "2 (Warning)"); + break; + case 3: + snprintf(type_str, type_str_size, "3 (Error)"); + break; + } + break; + case RGUI_SETTINGS_LOGGING_VERBOSITY: + strlcpy(type_str, g_extern.verbose ? "ON" : "OFF", type_str_size); + break; case RGUI_SETTINGS_CONFIG_SAVE_ON_EXIT: strlcpy(type_str, g_extern.config_save_on_exit ? "ON" : "OFF", type_str_size); break; diff --git a/frontend/menu/backend/menu_common_backend.h b/frontend/menu/backend/menu_common_backend.h index 8ee9bc23ab..78ea3ce2b4 100644 --- a/frontend/menu/backend/menu_common_backend.h +++ b/frontend/menu/backend/menu_common_backend.h @@ -88,6 +88,8 @@ typedef enum RGUI_SETTINGS_OPTIONS, RGUI_SETTINGS_DRIVERS, RGUI_SETTINGS_REWIND_ENABLE, + RGUI_SETTINGS_LIBRETRO_LOG_LEVEL, + RGUI_SETTINGS_LOGGING_VERBOSITY, RGUI_SETTINGS_REWIND_GRANULARITY, RGUI_SETTINGS_CONFIG_SAVE_ON_EXIT, RGUI_SETTINGS_PER_CORE_CONFIG, diff --git a/retroarch.cfg b/retroarch.cfg index 6f480f4620..9406934f15 100644 --- a/retroarch.cfg +++ b/retroarch.cfg @@ -33,6 +33,9 @@ # DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3. # libretro_log_level = 0 +# Enable or disable verbosity level of frontend. +# frontend_log_verbosity = false + # Path to core options config file. # This config file is used to expose core-specific options. # It will be written to by RetroArch. diff --git a/settings.c b/settings.c index 2c37a0396a..bb72b08195 100644 --- a/settings.c +++ b/settings.c @@ -1023,6 +1023,7 @@ bool config_load_file(const char *path, bool set_defaults) CONFIG_GET_BOOL(rgui_show_start_screen, "rgui_show_start_screen"); #endif CONFIG_GET_INT(libretro_log_level, "libretro_log_level"); + CONFIG_GET_BOOL_EXTERN(verbose, "log_verbosity"); #ifdef HAVE_OVERLAY CONFIG_GET_PATH_EXTERN(overlay_dir, "overlay_directory"); @@ -1480,6 +1481,7 @@ bool config_save_file(const char *path) config_set_bool(conf, "core_specific_config", g_settings.core_specific_config); config_set_int(conf, "libretro_log_level", g_settings.libretro_log_level); + config_set_bool(conf, "log_verbosity", g_extern.verbose); bool ret = config_file_write(conf, path); config_file_free(conf);