if (log_level < 0 || log_level > LOG_FATAL)
return;
+#if defined(PLATFORM_ANDROID)
+ android_log_prio = (log_level == LOG_DEBUG ? ANDROID_LOG_DEBUG :
+ log_level == LOG_INFO ? ANDROID_LOG_INFO :
+ log_level == LOG_WARN ? ANDROID_LOG_WARN :
+ log_level == LOG_ERROR ? ANDROID_LOG_ERROR :
+ log_level == LOG_FATAL ? ANDROID_LOG_FATAL :
+ ANDROID_LOG_UNKNOWN);
+#endif
+
static boolean last_line_was_separator = FALSE;
char *log_token = log_tokens[log_level];
{
va_list ap;
+ if (!options.debug)
+ return;
+
+ // if optional debug mode specified, limit debug output accordingly
+ if (options.debug_mode != NULL &&
+ !strEqual(options.debug_mode, mode))
+ return;
+
va_start(ap, format);
Log(LOG_DEBUG, mode, format, ap);
va_end(ap);
options.execute_command = NULL;
options.special_flags = NULL;
+ options.debug_mode = NULL;
options.mytapes = FALSE;
options.serveronly = FALSE;
else if (strncmp(option, "-debug", option_len) == 0)
{
options.debug = TRUE;
+
+ // optionally, debug output can be limited to a specific debug mode
+ if (option_arg != next_option)
+ options.debug_mode = getStringCopy(option_arg);
}
else if (strncmp(option, "-verbose", option_len) == 0)
{
}
if (key == KSYM_UNDEFINED)
- Error(ERR_WARN, "getKeyFromKeyName(): not completely implemented");
+ Warn("getKeyFromKeyName(): not completely implemented");
*keysym = key;
}
if (options.debug && dynamic_tokens_found)
{
- Error(ERR_INFO_LINE, "-");
- Error(ERR_INFO, "dynamic token(s) found in config file:");
- Error(ERR_INFO, "- config file: '%s'", filename);
+ Debug("config", "---");
+ Debug("config", "dynamic token(s) found in config file:");
+ Debug("config", "- config file: '%s'", filename);
for (list = setup_file_list; list != NULL; list = list->next)
{
char *value = getHashEntry(extra_file_hash, list->token);
if (value != NULL && strEqual(value, known_token_value))
- Error(ERR_INFO, "- dynamic token: '%s'", list->token);
+ Debug("config", "- dynamic token: '%s'", list->token);
}
- Error(ERR_INFO_LINE, "-");
+ Debug("config", "---");
}
if (unknown_tokens_found)
{
- Error(ERR_INFO_LINE, "-");
- Error(ERR_INFO, "warning: unknown token(s) found in config file:");
- Error(ERR_INFO, "- config file: '%s'", filename);
+ Warn("---");
+ Warn("unknown token(s) found in config file:");
+ Warn("- config file: '%s'", filename);
for (list = setup_file_list; list != NULL; list = list->next)
{
char *value = getHashEntry(extra_file_hash, list->token);
if (value != NULL && !strEqual(value, known_token_value))
- Error(ERR_INFO, "- dynamic token: '%s'", list->token);
+ Warn("- dynamic token: '%s'", list->token);
}
- Error(ERR_INFO_LINE, "-");
+ Warn("---");
}
if (undefined_values_found)
{
- Error(ERR_INFO_LINE, "-");
- Error(ERR_INFO, "warning: undefined values found in config file:");
- Error(ERR_INFO, "- config file: '%s'", filename);
+ Warn("---");
+ Warn("undefined values found in config file:");
+ Warn("- config file: '%s'", filename);
for (list = setup_file_list; list != NULL; list = list->next)
{
char *value = getHashEntry(empty_file_hash, list->token);
if (value != NULL)
- Error(ERR_INFO, "- undefined value for token: '%s'", list->token);
+ Warn("- undefined value for token: '%s'", list->token);
}
- Error(ERR_INFO_LINE, "-");
+ Warn("---");
}
freeSetupFileList(setup_file_list);
if (filename == NULL)
{
- Error(ERR_WARN, "cannot find artwork file '%s'", basename);
+ Warn("cannot find artwork file '%s'", basename);
basename = file_list_entry->default_filename;
file_list_entry->fallback_to_default = TRUE;
- Error(ERR_WARN, "trying default artwork file '%s'", basename);
+ Warn("trying default artwork file '%s'", basename);
filename = getCustomArtworkFilename(basename, artwork_info->type);
{
program.log_file[i] = program.log_file_default[i]; // reset to default
- Error(ERR_WARN, "cannot open file '%s' for writing: %s",
- program.log_filename[i], strerror(errno));
+ Warn("cannot open file '%s' for writing: %s",
+ program.log_filename[i], strerror(errno));
}
// output should be unbuffered so it is not truncated in a crash