fix: better logging behaviour

This commit is contained in:
Tobias Reisinger 2020-07-26 21:00:05 +02:00
parent 3e6d0333b7
commit 398019afe8
36 changed files with 256 additions and 188 deletions

View file

@ -10,40 +10,69 @@ config_t global_config;
(ini_array_match(SECTION, disp->append_to, '.', disp->format) && \
ini_string_match_ii(KEY, disp->data, disp->format))
int
static int
config_load_log_level(IniDispatch *disp, config_t *config)
{
if(strcasecmp(disp->value, "trace") == 0)
{
config->log_level = LOG_LEVEL_TRACE;
return 0;
}
if(strcasecmp(disp->value, "debug") == 0)
{
config->log_level = LOG_LEVEL_DEBUG;
setlogmask(LOG_UPTO(LOG_DEBUG));
config->log_level = LOG_DEBUG;
return 0;
}
if(strcasecmp(disp->value, "info") == 0)
{
config->log_level = LOG_LEVEL_INFO;
setlogmask(LOG_UPTO(LOG_INFO));
config->log_level = LOG_INFO;
return 0;
}
if(strcasecmp(disp->value, "warn") == 0)
if(strcasecmp(disp->value, "notice") == 0)
{
config->log_level = LOG_LEVEL_WARN;
setlogmask(LOG_UPTO(LOG_NOTICE));
config->log_level = LOG_NOTICE;
return 0;
}
if(strcasecmp(disp->value, "error") == 0)
if(strcasecmp(disp->value, "warning") == 0)
{
config->log_level = LOG_LEVEL_ERROR;
setlogmask(LOG_UPTO(LOG_WARNING));
config->log_level = LOG_WARNING;
return 0;
}
if(strcasecmp(disp->value, "fatal") == 0)
if(strcasecmp(disp->value, "err") == 0)
{
config->log_level = LOG_LEVEL_FATAL;
setlogmask(LOG_UPTO(LOG_ERR));
config->log_level = LOG_ERR;
return 0;
}
LOG_WARN("invalid log-level '%s'\n", disp->value);
if(strcasecmp(disp->value, "crit") == 0)
{
setlogmask(LOG_UPTO(LOG_CRIT));
config->log_level = LOG_CRIT;
return 0;
}
if(strcasecmp(disp->value, "emerg") == 0)
{
setlogmask(LOG_UPTO(LOG_EMERG));
config->log_level = LOG_EMERG;
return 0;
}
LOGGER_WARNING("invalid log-level '%s'\n", disp->value);
return 0;
}
static int
config_load_log_file(IniDispatch *disp, config_t *config)
{
if(strcasecmp(disp->value, "stdout") == 0)
{
config->log_file = stdout;
return 0;
}
if(strcasecmp(disp->value, "stderr") == 0)
{
config->log_file = stderr;
return 0;
}
config->log_file = fopen(disp->value, "a+");
return 0;
}
@ -98,6 +127,10 @@ config_load(IniDispatch *disp, void *config_void)
{
return config_load_log_level(disp, config);
}
if(CONFINI_IS_KEY("core", "log-file"))
{
return config_load_log_file(disp, config);
}
if(CONFINI_IS_KEY("core", "server-port"))
{
config->server_port = atoi(disp->value);