- int ret, i;
- static const char *default_log_colors[NUM_LOGLEVELS] = {
- [LL_DEBUG] = "normal",
- [LL_INFO] = "white bold",
- [LL_NOTICE] = "cyan bold",
- [LL_WARNING] = "green bold",
- [LL_ERROR] = "yellow bold",
- [LL_CRIT] = "magenta bold",
- [LL_EMERG] = "red bold",
- };
-
- for (i = 0; i < NUM_LOGLEVELS; i++) {
- ret = color_parse(default_log_colors[i], log_colors[i]);
- assert(ret >= 0);
- }
-
- for (i = 0; i < conf.log_color_given; i++) {
- char *arg = conf.log_color_arg[i], *p = strchr(arg, ':');
- int ll;
- if (!p)
- goto err;
- ret = get_loglevel_by_name(arg, p - arg);
- if (ret < 0)
- goto err;
- ll = ret;
- p++;
- ret = color_parse(p, log_colors[ll]);
- if (ret < 0)
- goto err;
- }
- return;
-err:
- PARA_EMERG_LOG("color syntax error, arg %d (%s)\n", i,
- conf.log_color_arg[i]);
- exit(EXIT_FAILURE);
-}